哨兵模式

什么是哨兵模式?

哨兵(sentinel)是一个分布式系统,在主从结构中对服务器进行监控,当服务器发生故障时,投票选举中新的master服务器,并将所有slave服务器连接到的master服务器。

 

哨兵的作用?

  监控:不断检查master和salve的运行情况

  通知:当服务器发生故障时,向其他(哨兵,客户端)发送通知

  自动故障转移:中断slave和master之间的联系,选举出一个新的master,并将salve连接到新的master服务器

  注意:哨兵也是一台服务器,不提供数据服务,通常是单数

 

监控阶段:

 

 

通知阶段:

 

 

状态转移阶段

 

 发现故障: 第一个哨兵(sentinel1)发现master节点挂了,将master标记为SRI_S_DOWN主观下限,并通知其他sentinel,其他sentinel确认master挂了后,将master的标记为SRI_O_DOWN客观下线,并开始选举新的master节点。

选举阶段:1.首先sentinels内部选举出一个sentisnel

                  2.根据以下规则机制,选举出一个新的master服务器 :在线的、响应快的、与原master未断开的、优先原则(offset、runid)

发送指令:1.向新的master发送salveof no one 2.向其他slave发送slaveof新的masterIP端口

 

posted @ 2020-11-09 11:35  蹦蹦郭  阅读(792)  评论(0编辑  收藏  举报