redis集群
1.节点通过握手来将其他节点添加到自己所处的集群当中。
cluster meet 命令将A、B两个节点握手,于是AB节点组成集群,命令实例:CLUSTER MEET <ip> <port>
2.每个节点用clusternode结构保存自己节点的信息,比如创建时间、槽口数、节点ip、节点端口。
3.节点在接收到一个命令时先判断键所在的槽是否在本节点,若不在就给客户端发送REMOVED命令+键所在节点端口
4.若请求的键所在槽正从所求的节点转移向另一槽口那么就会报错,向客户端发送ASK错误。表明所请求的键所在槽正被迁移。
5.节点若下线则向从节点迁移所有槽,从节点代替主节点继续处理请求。
6.redis集群间交流用Gossip protocol,GP是由meet ping pong publish fail消息实现。
读书做书摘,总结不停,成长继续。