当前位置:网站首页>美团二面:为什么Redis会有哨兵?
美团二面:为什么Redis会有哨兵?
2022-07-27 15:56:00 【InfoQ】

为什么要有哨兵机制?

哨兵机制是如何工作的?

- 哨兵节点是如何监控节点的?又是如何判断主节点是否真的故障了?
- 根据什么规则选择一个从节点切换为主节点?
- 怎么把新主节点的相关信息通知给从节点和客户端呢?
如何判断主节点真的故障了?


如何选新主节点?
- 第一轮考察:哨兵首先会根据从节点的优先级来进行排序,优先级越小排名越靠前,
- 第二轮考察:如果优先级相同,则查看复制的下标,哪个从「主节点」接收的复制数据多,哪个就靠前。
- 第三轮考察:如果优先级和下标都相同,就选择从节点 ID 较小的那个。
第一轮考察:优先级最高的从节点胜出
第二轮考察:复制进度最靠前的从节点胜出

第三轮考察:ID 号小的从节点胜出
- 过滤掉已经离线的从节点;
- 过滤掉历史网络连接状态不好的从节点;
- 将剩下的从节点,进行三轮考察:优先级、复制进度、ID 号。在每一轮考察过程中,如果找到了一个胜出的从节点,就将其作为新主节点。
由哪个哨兵进行主从故障转移?

- 第一,拿到半数以上的赞成票;
- 第二,拿到的票数同时还需要大于等于哨兵配置文件中的 quorum 值。
- 哨兵集群可以判定主节点“客观下线”。哨兵集群还剩下 3 个哨兵,当一个哨兵判断主节点“主观下线”后,询问另外 2 个哨兵后,有可能能拿到 3 张赞同票,这时就达到了 quorum 的值,因此,哨兵集群可以判定主节点为“客观下线”。
- 哨兵集群可以完成主从切换。当有个哨兵标记主节点为「客观下线」后,就会进行选举 Leader 的过程,因为此时哨兵集群还剩下 3 个哨兵,那么还是可以拿到半数以上(5/2+1=3)的票,而且也达到了 quorum 值,满足了选举 Leader 的两个条件, 所以就能选举成功,因此哨兵集群可以完成主从切换。
如何通知客户端新主节点的信息?
哨兵集群是如何组成的?
sentinel monitor <master-name> <ip> <redis-port> <quorum>

- 《Redis 核心技术与实战》
- 《Redis 设计与实现》
总结
- 过滤掉已经离线的从节点;
- 过滤掉历史网络连接状态不好的从节点;
- 将剩下的从节点,进行三轮考察:优先级、复制进度、ID 号。在每一轮考察过程中,如果找到了一个胜出的从节点,就将其作为新主节点。
- 第一,拿到半数以上的赞成票;
- 第二,拿到的票数同时还需要大于等于哨兵配置文件中的 quorum 值。
边栏推荐
- js实现页面或DOM元素平滑滚动
- shell常见命令(1)——变量大小写转换
- What's the use of games| Game application value research case collection
- TCP的连接状态标识 (SYN, FIN, ACK, PSH, RST, URG)
- anaconda重新卸载
- PostgreSQL 14 支持winserver2022吗?
- Zhengzhou University database course resource description
- [MCU] 2.3 CPU of AT89S52
- js工具-cookie简单封装
- numpy数组矩阵操作
猜你喜欢

Code compliance: five reasons why developers use helix QAC

TCP的连接状态标识 (SYN, FIN, ACK, PSH, RST, URG)

ACL 2022 | prompt based automatic depolarization: effectively reducing bias in the pre training language model

2022 safety officer-c certificate special operation certificate examination question bank and answers

面试常见问题一二

Because the employee set the password to "123456", amd stolen 450gb data?

Telecommuting can be easily realized in only three steps

Fast analysis combined with Haidian medicine

Evaluation index of machine learning (II) -- classification evaluation index

Knowledge dry goods: basic storage service novice Experience Camp
随机推荐
备份表恢复表
Telecommuting can be easily realized in only three steps
Summer Challenge [FFH] real time chat room websocket practice
快解析结合华途文档加密软件
Does PostgreSQL 14 support winserver2022?
Profiles vs Permission Sets
@Scheduled 和Quartz
Count the six weapons of the domestic interface cooperation platform!
WebDriverException( selenium.common.exceptions.WebDriverException: Message: ‘chromedriver‘ executabl
Understand │ what is cross domain? How to solve cross domain problems?
js实现页面或DOM元素平滑滚动
6月第1周易盾业务风控关注 | 新东方学而思等15家机构被顶格罚款
Talk about the new trend of machine translation, and the second maverick translation forum is about to open
shell常见命令(1)——变量大小写转换
Convolutional neural network -- Translation of yolov2 (yolo9000) papers
2022 safety officer-c certificate special operation certificate examination question bank and answers
使用分布式框架WCF出现的BUG记录
Zhengzhou University database course resource description
Salesforce dynamic dashboard dynamic reports, limitations and Solutions
卷积神经网络——FPN(Feature Pyramid Networks)介绍