Redis学习笔记:高可用解决方案Sentinel

133 阅读1分钟

1、Sentinel是什么

Sentinel本质是一台Redis服务器载入专用的Sentinel专用代码进行初始化,监听主服务器、从服务器等,使用info、ping命令来进行探测

2、Sentinel能做什么

1)Sentinel能创建命令连接、订阅连接通过info来获取主服务器和从服务器的信息

2)Sentinel与Sentinel之间是没有订阅链接的。一个Sentinel获取主从服务器的信息,会同步传播给其他Sentinel进行更新SentinelRedisInstance实例信息,来保持主动服务器的一致

3)故障转移,当某个Sentinel监控到主服务器下线时(认定主观下线),此时会同步主服务器的信息给其他Sentinel,其他Sentinel对该主服务器进行监测,判定为客观下线,当Sentinel认定客观下线达到设定的数量,进行选举新的主服务器

频次:Sentinel每秒一次发送ping监测主服务器是否下线,当超过Sentinel内部设置的时长返回无效回复,则认定下线(不同的Sentinel,内部设置的时长可能不同,但以最长的为准)

3、Sentinel如何做到高可用的

故障转移后,新的主服务器会发送命令,从服务器重新复制新的主服务器,旧的主服务器变成从服务器,等待上线进行复制