简介
节点
Redis Cluster是分布式架构:即Redis Cluster中有多个节点,每个节点都负责进行数据读写操作
每个节点之间会进行通信。
meet操作节点之间会相互通信
meet操作是节点之间完成相互通信的基础,meet操作有一定的频率和规则
分配槽
把16384个槽平均分配给节点进行管理,每个节点只能对自己负责的槽I进行读写操作
由于每个节点之间都彼此通信,每个节点都知道另外节点负责管理的槽范围
客户端访问任意节点时,对数据key按照CRC16规则进行hash运算,然后对运算结果对16383进行取作,如果余数在当前访问的节点管理的槽范围内,则直接返回对应的数据如果不在当前节点负责管理的槽范围内,则会告诉客户端去哪个节点获取数据,由客户端去正确的节点获取数据
高可用redis cluster集群的具体实现
(1)关闭之前的redis
(2)在server1上创建 6个Redis 节点
进入7001目录,编写redis.conf文件,重启服务
进入7002目录,编写redis.conf文件,重启服务
进入7003目录,编写redis.conf文件,重启服务
进入7004目录,编写redis.conf文件,重启服务
进入7005目录,编写redis.conf文件,重启服务
进入7006目录,编写redis.conf文件,重启服务
查看6个节点全部开启
(3)在server1上创建redis-cluster集群
开始建立
查看
测试
以上测试的数据怎么恢复???以上匹配的是7002和7005
(4)添加两个新的节点
还有7007的文件修改和之前一样。这里忘截图
添加slave
查看
此时7007没有哈希槽,现在给他均分配