课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
分布式编程开发技术是随着互联网的不断发展而逐渐被程序员掌握的一种开发方式,而今天我们就通过案例分析来了解一下,分布式编程开发Sentinel的工作方式
1、Sentinel的作用
集群监控
不断的检查master和slave是否正常运行(master存活检测、master与slave运行情况检测)
消息通知
当被监控的服务器出现问题时,向其他哨兵、客户端发送通知
自动故障转移
断开故障master与slave的连接,选取一个slave作为新master,将其他slave连接到新的master并告知客户端新的服务器地址。
2、Sentinel的工作方式
每个Sentinel以每秒钟一次的频率向它所知的Master,Slave以及其他Sentinel实例发送一个PING命令
如果一个实例(Instance)距离后一次有效回复PING命令的时间超过down-after-milliseconds选项所指定的值,则这个实例会被Sentinel标记为主观下线。
若Master重新向Sentinel的PING命令返回有效回复,Master的主观下线状态就会被移除。
如果一个Master被标记为主观下线,则正在监视这个Master的所有Sentinel要以每秒一次的频率确认Master的确进入了主观下线状态。
当有足够数量的Sentinel(>=配置文件指定的值)在指定的时间范围内确认Master的确进入了主观下线状态,则Master会被标记为客观下线
若没有足够数量的Sentinel同意Master已经下线,Master的客观下线状态就会被移除。
在一般情况下,每个Sentinel会以每10秒一次的频率向它已知的所有Master,Slave发送INFO命令
当Master被Sentinel标记为客观下线时,Sentinel向下线的Master的所有Slave发送INFO命令的频率会从10秒一次改为每秒一次
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请在707945861群中学习了解。