第 17 章: 集群¶
槽指派¶
图 17-9 展示了一个 slots 数组示例:
这个数组索引 0 至索引 7 上的二进制位的值都为 1 ,
其余所有二进制位的值都为 0 ,
这表示节点负责处理槽 0 至槽 7 。
图 17-10 展示了另一个 slots 数组示例:
这个数组索引 1 、 3 、 5 、 8 、 9 、 10 上的二进制位的值都为 1 ,
而其余所有二进制位的值都为 0 ,
这表示节点负责处理槽 1 、 3 、 5 、 8 、 9 、 10 。
节点之间互相传递槽指派信息的过程。
clusterState 结构的 slots 数组示例。
ASK 错误¶
源节点判断是否需要向客户端发送 ASK 错误的整个过程。
importing_slots_from 结构以及 migrating_slots_to 结构的示例。
客户端根据 ASK 错误进行转向的过程。
节点判断是否执行客户端命令的过程。
消息¶
集群中的节点通过发送消息来将一个节点标记为下线的过程。
接收到 PUBLISH 命令的节点向集群中的其他节点发送 PUBLISH 消息。
PUBLISH 消息中包含的 clusterMsgDataPublish 结构示例。