Redis-Sentinel高可用架构学习

Redis-Sentinel高可用架构

Redis主从复制过程:

主从同步原理

Redis Sentinel(哨兵)高可用集群方案:Redis-Sentinel是Redis官方推荐的高可用性(HA)解决方案。

当用Redis做Master-slave的高可用方案时,假如master宕机了,Redis本身(包括它的很多客户端)都没有实现自动进行主备切换,而Redis-sentinel本身也是一个独立运行的进程,它能监控多个master-slave集群,发现master宕机后能进行自动切换。Sentinel由一个或多个Sentinel 实例 组成的Sentinel 系统可以监视任意多个主服务器,以及这些主服务器属下的所有从服务器,并在被监视的主服务器进入下线状态时,自动将下线主服务器属下的某个从服务器升级为新的主服务器。

Sentinel工作方式(每个Sentinel实例都执行的定时任务)

每个Sentinel以每秒钟一次的频率向它所知的Master,Slave以及其他 Sentinel 实例发送一个PING命令。

如果一个实例(instance)距离最后一次有效回复PING命令的时间超过 own-after-milliseconds 选项所指定的值,则这个实例会被Sentinel标记为主观下线。

如果一个Master被标记为主观下线,则正在监视这个Master的所有 Sentinel 要以每秒一次的频率确认Master的确进入了主观下线状态。

当有足够数量的Sentinel(大于等于配置文件指定的值)在指定的时间范围内确认Master的确进入了主观下线状态,则Master会被标记为客观下线。

在一般情况下,每个Sentinel 会以每10秒一次的频率向它已知的所有Master,Slave发送 INFO 命令。

当Master被Sentinel标记为客观下线时,Sentinel 向下线的 Master 的所有Slave发送 INFO命令的频率会从10秒一次改为每秒一次。

若没有足够数量的Sentinel同意Master已经下线,Master的客观下线状态就会被移除。 若 Master重新向Sentinel 的PING命令返回有效回复,Master的主观下线状态就会被移除。

Slave提升为Master:

Sentinel节点挂了怎么办?

推荐学习:

https://zhuanlan.zhihu.com/p/222043717

https://blog.csdn.net/qq_43437874/article/details/116741304

相关推荐
衡石科技37 分钟前
衡石高性能分析架构:HQL、查询下推与多层加速的协同设计
架构·数据分析
Tokenfree2 小时前
换模型也要灰度:10% → 50% → 100%,每一档只看三个指标
架构
vivo互联网技术2 小时前
把 Agent 的判断与行动变成可恢复的软件事实|KDC 系列 工程篇
架构·agent·ai编程
用户094248568033 小时前
第19章:库存扣减与秒杀系统:Redis 扛峰值流量
redis·架构·源码
leo在掘金3 小时前
2.8万亿MoE跑昇腾:0 Day适配改了啥
后端·架构
爱写Bug的浮游3 小时前
RTA高频请求下的Redis短缓存工程闭环
redis
没有气的汽水3 小时前
redis加了个分片,把线上写挂了一个多小时
redis
xixiaoyunya4 小时前
Redis缓存三大问题实战:穿透、击穿、雪崩,我用一个电商秒杀场景讲清楚
数据库·redis·缓存
广凌科技4 小时前
广凌校园物联网中台整体解决方案:三层架构驱动校园数字化智治
物联网·架构
这个DBA有点耶5 小时前
Merge还是Materialize?一文讲透MySQL 8.0 CTE底层的执行计划博弈与性能陷阱
数据库·mysql·架构