0
点赞
收藏
分享

微信扫一扫

MySQL5.7.36之高可用架构部署-Atlas读写分离

倪雅各 2024-09-09 阅读 2

目录

 一:什么是Sentinel(哨兵)

二:Sentinel有什么用 

1.监控

2.故障转移

3通知

4.配置提供

三:Sentinel如何检测master节点宕机 

1.主观下线

2.客观下线

四:Sentinel是如何选举出新的master 

1.slave的优先级

2.复制进度 

3.runid 

 五:如何在sentinel集群中选择出Leader


前言:有关Redis的基础知识可以参照我之前写的文章Redis必知必会的知识

 一:什么是Sentinel(哨兵)

Sentinel是一中运行模式,不提供任何的读写过程,它只负责运行特殊的Redis命令执行自动化的故障转移。默认运行在26379端口上,依赖于Redis工作,可以通过以下命令让Redis以Sentinel的形式运行

Redis的源码中sentinel.conf 就是用来配置Sentinel的

二:Sentinel有什么用 

根据Redis的官方文档可以知道,sentinel节点主要提供以下几个功能

1.监控

2.故障转移

3通知

4.配置提供

三:Sentinel如何检测master节点宕机 

1.主观下线

2.客观下线

 其实就是当sentinel自己认为master下线那么就是主观下线,而sentinel整体达成一致认为master下线那么就是客观下线。

具体的步骤如下:

主观下线:

客观下线:

sentinel 中会有一个 Leader 的角色来负责故障转移,也就是自动地从 slave 中选出一个新的 master 并执行完相关的一些工作(比如通知 slave 新的 master 连接信息,让它们执行 replicaof 成为新 的 master 的 slave)。如果没有足够数量的 sentinel 节点认定 master 已经下线的话,当 master 能对 sentinel 的 PING 命令 进行有效回复之后,master 也就不再被认定为主观下线,回归正常。 

四:Sentinel是如何选举出新的master 

slave必须是在线状态才能参加竞选成为新的master,sentinel在选举新的master时是基于以下3个方面来实现的

1.slave的优先级

2.复制进度 

3.runid 

 五:如何在sentinel集群中选择出Leader

举报

相关推荐

0 条评论