Redis - 哨兵(Sentinel)

简介: Redis - 哨兵(Sentinel)


Redis Sentinel 哨兵 的架构 主要 包括  主节点存活检测、主从运行情况检测、 自动故障转移、主从切换。Redis Sentinel  最小配置是一主一从。

Redis Sentinel 系统可以用来管理 多个 Redis 服务器, 该系统可以执行以下四个任务:

1、 监控:不断检查主服务器和从服务器是否正常运行

2、通知:当被监控的某个redis 服务器出现问题, Sentinel 通过API 脚本向管理员或者其他应用程序发出通知

3、自动故障转移:当主节点不能正常工作时,Sentinel 会开始一次自动的故障转移操作,它会将与失效主节点是主从关系的其中一个从节点升级为新的主节点,并且将其他的从节点指向新的主节点,这样人工干预就可以免了。

4、配置提供者:在Redis Sentinel 模式下, 客户端应用在初始化时连接的是Sentinel 节点集合,从中获取主节点的信息。

哨兵的工作原理



1、每个Sentinel 节点都需要定期执行以下任务:每个Sentinel 以每秒一次的频率,向它所知的主服务器从服务器以及其他的Sentinel实例发送一个 PING 命令 (如上图)




2、如果一个实例距离最后一次有效回复PING命令的时间超过 down-after-milliseconds 所指定的值,那么这个实例会被Sentinel标记为主观下线(如上图)



3、如果一个主服务器被标记为主观下线,那么正在监视这个服务器的所有Sentinel 节点,要以每秒一次频率确认主服务器 的确 进入了 主观下线 状态 (如上图)

4、如果一个主服务器被标记为主观下线, 并且有足够数量的Sentinel (至少要达到配置文件指定的数量) 在指定的时间范围内同意这一判断, 那么 这个 主服务器 被 标记为 客观下线 (如上图)





5、一般情况下,每个Sentinel 会以每 10 秒 一次的频率向它已知的所有主服务器和从服务器发送 INFO 命令,当一个主服务器被标记为客观下线时, Sentinel 向下线主服务器的所有 从服务器 发送INFO 命令的频率, 会从 10秒一次 改为 每秒一次





6、Sentinel 和 其他 Sentinel 协商客观下线主节点 的状态, 如果处于 SDOWN(降支斜率) 状态,则投票自动选出新的主节点, 将剩余从节点指向新的主节点 进行 数据复制

7、当没有足够数量的Sentinel 同意主服务器下线时, 主服务器 的客观下线状态就会被移除。当主服务器重新向 Sentinel 的 PING 命令返回 有效 回复时, 主服务器 的 主观下线状态就会被移除。


目录
相关文章
|
11月前
|
缓存 NoSQL Redis
Redis原理—3.复制、哨兵和集群
详细介绍了Redis的复制原理、哨兵原理和集群原理。
|
监控 NoSQL Redis
Redis Sentinel:秒杀系统背后的可靠性保障神器!
本文详细介绍了如何在个人项目中利用 Redis 哨兵模式保障系统的可靠性与高可用性。哨兵模式通过监控主从服务器状态、自动故障转移和通知客户端等功能,确保在主服务器宕机时系统仍能正常运行。适用于读请求多于写请求的场景,如秒杀系统,能有效缓解数据库压力。同时也探讨了哨兵模式在高并发场景下的优化方法及潜在缺陷,帮助开发者更好地应用该模式。
327 7
Redis Sentinel:秒杀系统背后的可靠性保障神器!
|
存储 NoSQL Redis
SpringCloud基础7——Redis分布式缓存,RDB,AOF持久化+主从+哨兵+分片集群
Redis持久化、RDB和AOF方案、Redis主从集群、哨兵、分片集群、散列插槽、自动手动故障转移
SpringCloud基础7——Redis分布式缓存,RDB,AOF持久化+主从+哨兵+分片集群
|
监控 NoSQL 算法
Redis Sentinel(哨兵)详解
Redis Sentinel(哨兵)详解
586 4
|
运维 监控 NoSQL
【Redis】哨兵(Sentinel)原理与实战全解~炒鸡简单啊
Redis 的哨兵模式(Sentinel)是一种用于实现高可用性的机制。它通过监控主节点和从节点,并在主节点故障时自动进行切换,确保集群持续提供服务。哨兵模式包括主节点、从节点和哨兵实例,具备监控、通知、自动故障转移等功能,能显著提高系统的稳定性和可靠性。本文详细介绍了哨兵模式的组成、功能、工作机制以及其优势和局限性,并提供了单实例的安装和配置步骤,包括系统优化、安装、配置、启停管理和性能监控等。此外,还介绍了如何配置主从复制和哨兵,确保在故障时能够自动切换并恢复服务。
|
NoSQL Java Redis
SpringBoot2.0整合Redis高可用之Sentinel哨兵
本篇博文分享的是一主二从三哨兵模式。至于为什么用三个哨兵,同第一段。本文是模拟环境,都是一个服务器上面。
1894 0
|
监控 NoSQL Redis
Redis - 主从复制那些事与高可用sentinel
Redis - 主从复制那些事与高可用sentinel
197 0
|
监控 NoSQL 程序员
Redis 高可用篇:你管这叫 Sentinel 哨兵集群原理
Redis 高可用篇:你管这叫 Sentinel 哨兵集群原理
344 5
|
监控 NoSQL Redis
基于Docker的Redis高可用集群搭建(redis-sentinel)
前言   之前介绍了用docker来搭建redis主从环境,但这只是对数据添加了从库备份(主从复制),当主库down掉的时候,从库是不会自动升级为主库的,也就是说,该redis主从集群并非是高可用的。
8923 1
|
监控 NoSQL Redis