Redis Cluster 集群的高可用配置在工程应用中必须重视起来,下面浅浅的聊聊。
Redis 集群相关概念:
Redis 集群实现了对Redis的水平扩容,即启动N个redis节点,将整个数据库分布存储在这N个节点中,每个节点存储总数据的1/N。
Redis 集群通过分区(partition)来提供一定程度的可用性(availability): 即使集群中有一部分节点失效或者无法进行通讯, 集群也可以继续处理命令请求。
Redis 集群搭建实例
6个节点,如192.168.1.1、192.168.1.2、192.168.1.3、192.168.1.4、192.168.1.5、192.168.1.6
删除6个节点中的aof、rdb文件,如rm -rf *.rdb *.aof
1、修改6个节点中的redis.conf
修改内容如下
...
#打开集群模式
cluster-enabled yes
...
#设定节点配置文件名
cluster-config-file nodes-6379.conf
...
#设定节点失联时间,超过该时间(毫秒),集群自动进行主从切换
cluster-node-timeout 15000
...
2、启动6个节点的redis
启动成功后会生成nodes-6379.conf文件,通过ps -ef | grep redis查看redis是否启动成功。
3、创建集群
用redis-cli 创建整个redis集群(redis5以前的版本集群是依靠ruby脚本redis-trib.rb实现)。
如
redis-cli --cluster create 192.168.1.1:6379 192.168.1.2:6379 192.168.1.3:6379 192.168.1.4:6379 192.168.1.5:6379 192.168.1.6:6379 --cluster-replicas 1
其中,cluster-replicas 表示复制因子 1表示 一主一从。
4、测试集群
连接任意一个客户端即可,如redis-cli -c -h 192.168.1.1 -p 6379
登录进入之后,可以通过cluster info查看集群信息,通过cluster nodes查看节点列表。
后续若有修改或补充会进行更新。