学习地址:https://www.cnblogs.com/chenkeyu/p/8047811.html
上图蓝色为redis集群的节点;节点之间通过ping命令来测试连接是否正常,节点之间没有主区分,连接到任何一个节点进行操作时,都可能会转发到其他节点
节点之间会定时的互相发送ping命令,测试节点的健康状态,当节点接受到ping命令后,会返回一个pong字符串。
投票机制:如果一个节点A给节点B发送ping没有得到pong返回,会通知其他节点再次给B发送ping,如果集群中有超过一半的节点收不B节点的pong。那么就认为B节点挂了。
一般会为每个节点提供一个备份节点,如果挂掉会切换到备份节点。
Redis对于每个存放的key会进行hash操作,生成一个[0-16384]的hash值(先进行crc 算法再对16384取余)。
集群的情况下,就是把[0-16384]的区间进行拆分,放到不同的redis中。
Snapshotting:定时的将Redis内存中的数据保存到硬盘中
AOF:将所有的command操作保存到aof中,AOF的同步频率很高,数据即使丢失,粒度也很小,但会在性能上造成影响