一、搭建集群:
三个步骤:
1、准备节点
Redis集群一般由多个节点组成,节点数量至少为6个才能保证组成完整高可用的集群。每个节点需要开启配置cluster-enable yes,让Redis运行在集群模式下。建议为集群内所有节点统一目录,一般划分为三个目录:conf、data、log,分别存放配置、数据和日志相关文件。
启动所有节点,第一次启动时如果没有集群配置文件,它会自动创建一份。当集群内节点信息发生变化,节点会自动保存集群状态到配置文件中。Redis自动维护集群配置文件,不需要手动修改。
2、节点握手
节点握手是指一批运行在集群模式下的节点通过Gossip协议彼此通信,达到感知对方的过程。节点握手是集群彼此通信的第一步,由客户端发起命令:cluster meet {ip} {port},例如:cluster meet 127.0.0.1 6380,表示让节点6379和6380节点进行握手通信。6379和6380节点通过meet命令彼此建立通信后,对节点6379和6380分别执行cluster nodes 命令,可以看到他们已经彼此感知到对方的存在。
类似的,只需要在集群被任意节点上执行cluster meet 命令加入新节点,握手状态会通过消息在集群内传播,这样其他节点会自动发现新节点并发起握手流程。最后执行cluster nodes 命令确定6个节点都彼此感知并组成集群。通过cluster info 命令可以获取集群当前状态。
3、分配槽
Redis 集群把所有的数据映射到16384个槽中,每个key会映射为一个固定的槽,只有当节点分配了槽,才能相应和这些槽关联的键命令。通过cluster addslots命令为节点分配槽,把1638