Redis Cluster集群同步过程如下:
节点加入:新节点加入Redis Cluster集群时,它会发送一个MEET命令给其他节点,告诉它们自己的IP地址和端口号。
槽分配:当集群中有节点加入或者退出时,槽会重新分配。每个槽都会被分配到一个主节点上,并且每个主节点可以负责多个槽。
主节点复制:集群中的每个主节点都会有自己的备份节点。主节点将自己的数据复制到备份节点上,以便于在主节点宕机时备份节点可以接管工作。
命令转发:当客户端提交一个请求时,它会首先连接到集群中的任意一个节点。该节点会检查请求所涉及的槽位,如果这个槽位属于该节点,则直接处理请求;否则,它会将请求转发到负责该槽位的节点上。
重定向:如果某个节点宕机了,客户端会重新连接到其他可用节点。如果客户端提交一个请求,请求的键不在集群的映射范围内,那么客户端会收到一个重定向信息,告诉它应该将请求发送到哪个节点去处理。
故障转移:如果主节点宕机了,集群会选举一个备份节点作为新的主节点,并重新分配宕机主节点上负责的槽位。如果客户端提交一个请求,请求的键正好在故障主节点上,那么客户端会收到一个重定向信息,告诉它应该将请求发送到新的主节点去处理。
以上就是Redis Cluster集群同步的基本过程。