redis的主从复制、哨兵如何实现的
作者:binredis的主从复制方式
1.master收到slave的同步请求,会检查请求的slave是否有存储
1.1如果没存储进行rdb备份,生成快照同步给slave
1.2如果有存储,与自己记录的id比较,检查偏移量id是否正常
1.2.1如果不正常,金融rdb备份,生成快照同步给slave
1.2.2如果正常,直接进行
哨兵模式
1.哨兵也是一个进程,用于观察redis服务是否正常
2.哨兵会定时ping redis服务器,以确定是否下线
哨兵如何完成故障转移?
当redis主服务下线后,选出新当redis主服务,根据
1.从配置看哪个配置当更高,slave-priority
2.从类似事物id的,复制偏移量取最高值
3.根据runid来判断,runid越低,说明启动时间越早