当前位置:网站首页>Redis Sentinel原理
Redis Sentinel原理
2022-07-31 09:19:00 【IT-老牛】
首先, 哨兵模式是一种特殊的模式,它是 Redis 高可用的一种实现方案。首先哨兵是一个独立的进程, 可以实现对 Redis 实例的监控、通知、自动故障转移。
实际上,每个哨兵节点每秒通过 ping 去进行心跳监测(包括所有 redis 实例和 sentinel 同伴),并根据回复判断节点是否在线。
如果某个 sentinel 线程发现主库没有在给定时间( down-after-milliseconds
)内响应这个 PING
,则这个 sentinel
线程认为主库是不可用的,这种情况叫 “主观失效”(即SDOWN);这种情况一般不会引起马上的故障自动转移,但是当多个 sentinel
线程确实发现主库是不可用并超过 sentinel.conf
里面的配置项 sentinel monitor mymaster {#ip} {#port} {#number}
中的 #number
时候(这里实际上采用了流言协议),一般其余 sentinel
线程会通过 RAFT 算法推举领导的 sentinel 线程负责主库的客观下线并同时负责故障自动转移,这种情况叫 “客观失效”(即 ODOWN
)。
具体流程如下图所示:
哨兵模式的配置项
边栏推荐
猜你喜欢
随机推荐
2022 Hangzhou Electric Cup Super League 3
让动画每次重复前都有延迟
【TCP/IP】网络模型
第五章
Scala basics [seq, set, map, tuple, WordCount, queue, parallel]
PyQt5快速开发与实战 9.4 Matplotlib在PyQt中的应用
Which strings will be parsed as null by FastJson?
【机器学习】用特征量重要度(feature importance)解释模型靠谱么?怎么才能算出更靠谱的重要度?
Canvas particles change various shapes js special effects
通过栗子来学习MySQL高级知识点(学习,复习,面试都可)
js以变量为键
来n遍剑指--07. 重建二叉树
【Redis高手修炼之路】Jedis——Jedis的基本使用
刷题《剑指Offer》day07
【RISC-V】risc-v架构学习笔记(架构初学)
loadrunner-controller-手动场景Schedule配置
vue element form表单规则校验 点击提交后直接报数据库错误,没有显示错误信息
多版本node的安装与切换详细操作
matlab常用符号用法总结
JSP page对象简介说明