redis cluster是redis的官方集群方案,但是他要求客户端自己做重定向,所以连接单机redis和集群redis的客户端会有些不同,连接集群版redis的时候要客户端连接6个redis实例。
官方为了屏蔽这种差异,做了一个redis-cluster-proxy,经过这个proxy的代理后,连接redis集群就和连接单机redis一样了。
一、redis cluster proxy的安装与使用
1、 先要搭建redis cluster,
参考文章docker部署redis cluster集群先搭建集群
2、 下载安装 redis cluster proxy
下载
git clone https://github.com/RedisLabs/redis-cluster-proxy.git
编译
cd redis-cluster-proxy
make
安装
sudo make install
修改配置文件
vim proxy.conf
加入集群配置
cluster 127.0.0.1:6601,127.0.0.1:6602,127.0.0.1:6603,127.0.0.1:6604,127.0.0.1:6605,127.0.0.1:6606
部署启动
./src/redis-cluster-proxy -c proxy.conf
二、redis cluster proxy的坑
redis cluster proxy不是所有命令都支持,官方列出如下命令
其中比较关键的是这个hello命令,redis lettuce客户端连接服务端的时候,会先发送一个hello命令,由于redis cluster proxy不支持这个命令,所以现在只有jedis客户端能连接redis cluster proxy。
redis6新出的acl命令,这个proxy不支持,总感觉这个redis cluster proxy是一个鸡肋的存在。