当前位置: 首页 > news >正文

Sentinel

什么是 Sentinel? 有什么用?

2 Sentinel 如何检测节点是否下线?主观下线与客观下线的区别?

3 Sentinel 是如何实现故障转移的?

4 为什么建议部署多个 sentinel 节点(哨兵集群)?

5 Sentinel 如何选择出新的 master(选举机制)?

6 如何从 Sentinel 集群中选择出 Leader ?

7 Sentinel 可以防止脑裂吗?

什么是 Sentinel?

Sentinel(哨兵) 只是 Redis 的一种运行模式,帮助我们实现自动的故障转移

当 master 节点出现故障的时候, Sentinel 会帮助我们实现故障转移,自动根据一定的规则选出一个 slave 升级为 master,确保整个 Redis 系统的可用性。整个过程完全自动,不需要人工介入。

有什么作用

  • 监控:监控从节点以及自身哨兵节点是否正常
  • 故障转移
  • 通知从节点更换了主节点
  • 配置提供,客户端连接主节点地址更换,会通知新的连接给客户端

哨兵节点集群

只有一个的话会出现因为网络问题实现误判,导致更换主节点

一个哨兵节点失效了就可以换其他的哨兵节点

Sentinel 如何检测节点是否下线?

相关的问题:

● 主观下线与客观下线的区别?

● Sentinel 是如何实现故障转移的?

● 为什么建议部署多个 sentinel 节点(哨兵集群)?

Redis Sentinel 中有两个下线(Down)的概念:

主观下线(SDOWN) :sentinel 节点认为某个 Redis 节点已经下线了(主观下线),但还不是很确定,需要其他 sentinel 节点的投票。

客观下线(ODOWN) :法定数量(通常为过半)的 sentinel 节点认定某个 Redis 节点已经下线(客观下线),那它就算是真的下线了。

哨兵节点每秒像redis集群的节点发送ping命令。在有效时间内没有回复就认为主观下线,从节点主观下线,没有影响,但是主节点主观下线就会核实,也就是当有一半的哨兵节点认为它下线才是客观下线,防止误判导致额外的切换节点开销

如何从 Sentinel 集群中选择出 Leader ?

这就需要用到分布式领域的 共识算法 了

Sentinel 如何选择出新的 master?

slave的优先级,可以配置中配置优先级

复制进度:选数据最接近主节点的节点

runid


文章转载自:
http://bcc.wjrtg.cn
http://bucovina.wjrtg.cn
http://autokinetic.wjrtg.cn
http://agonistic.wjrtg.cn
http://begorra.wjrtg.cn
http://caboodle.wjrtg.cn
http://blackshirt.wjrtg.cn
http://backstair.wjrtg.cn
http://actinomorphic.wjrtg.cn
http://ameboid.wjrtg.cn
http://advent.wjrtg.cn
http://beeb.wjrtg.cn
http://accolade.wjrtg.cn
http://chiseler.wjrtg.cn
http://casebearer.wjrtg.cn
http://boomtown.wjrtg.cn
http://anthropophagi.wjrtg.cn
http://abort.wjrtg.cn
http://chemoreceptor.wjrtg.cn
http://bedlight.wjrtg.cn
http://catchword.wjrtg.cn
http://benzal.wjrtg.cn
http://aetna.wjrtg.cn
http://chromatogram.wjrtg.cn
http://abridgement.wjrtg.cn
http://characterful.wjrtg.cn
http://aortitis.wjrtg.cn
http://appendectomy.wjrtg.cn
http://bereave.wjrtg.cn
http://caecectomy.wjrtg.cn
http://www.dtcms.com/a/18591.html

相关文章:

  • 数据库报错1045-Access denied for user ‘root‘@‘localhost‘ (using password: YES)解决方式
  • 【MySQL】索引篇
  • 【ISO 14229-1:2023 UDS诊断全量测试用例清单系列:第十八节】
  • python 获取smpl身高 fbx身高
  • 【Unity Shader编程】之顶点着色器
  • 基于Docker-compose的禅道部署实践:自建MySQL与Redis集成及故障排查指南
  • 【Python深入浅出㉗】Python3正则表达式:开启高效字符串处理大门
  • pdf.js默认显示侧边栏和默认手形工具
  • Node.js 完全教程:从入门到精通
  • QT 5.15.2 开发地图ArcGIS 100.15.6(ArcGIS Runtime SDK for Qt)
  • 【Spring AI】基于SpringAI+Vue3+ElementPlus的QA系统实现(后端)
  • 为什么配置Redis时候要序列化配置呢
  • C# 鼠标点击ToolStripStatuslabel 在线修改Text属性并存储加载显示Text属性
  • 无人机雨季应急救灾技术详解
  • 计算机毕业设计Tensorflow+LSTM空气质量监测及预测系统 天气预测系统 Spark Hadoop 深度学习 机器学习 人工智能
  • Linux 常见的虚拟文件系统
  • 大数据学习之PB级百战出行网约车二
  • MySQL数据库入门到大蛇尚硅谷宋红康老师笔记 基础篇 part 10
  • Python----PyQt开发(PyQt高级:图像显示,定时器,进度条)
  • 2024年终总结和2025年规划
  • Java中使用EasyExcel
  • Ubuntu 下 nginx-1.24.0 源码分析 - ngx_gmtime 函数
  • 每日Attention学习23——KAN-Block
  • 低空经济:开启未来空中生活的全新蓝海
  • 【动态规划】--- 斐波那契数模型
  • Golang关于结构体组合赋值的问题
  • React源码解读
  • 尚硅谷爬虫note004
  • Unity3D 类MOBA角色控制器 开箱即用
  • 《安富莱嵌入式周报》第350期:Google开源Pebble智能手表,开源模块化机器人平台,开源万用表,支持10GHz HRTIM的单片机,开源CNC控制器