Redis - 哨兵(Sentinel)

本文涉及的产品
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
简介: 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 命令返回 有效 回复时, 主服务器 的 主观下线状态就会被移除。


相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
目录
相关文章
|
13小时前
|
NoSQL Redis Sentinel
【怒怼大厂面试官】听说你精通Redis?说说Redis哨兵
面试官:Redis哨兵知道吧?知道的,Sentinel哨兵本质是一个运行在特殊模式下的Redis服务器。面试官:嗯然后呢?它的主要作用是通过检测Redis主从服务器的下线状态,选举出新Redis主服务器,也就是故障转移,来保证Redis的高可用性。
79 4
【怒怼大厂面试官】听说你精通Redis?说说Redis哨兵
|
12小时前
|
编解码 算法 定位技术
GEE时序——利用sentinel-2(哨兵-2)数据进行地表物候学分析(时间序列平滑法估算和非平滑算法代码)
GEE时序——利用sentinel-2(哨兵-2)数据进行地表物候学分析(时间序列平滑法估算和非平滑算法代码)
102 3
|
12小时前
|
存储 NoSQL Redis
Redis源码、面试指南(5)多机数据库、复制、哨兵、集群(下)
Redis源码、面试指南(5)多机数据库、复制、哨兵、集群
7 1
|
12小时前
|
监控 NoSQL Redis
Redis源码、面试指南(5)多机数据库、复制、哨兵、集群(上)
Redis源码、面试指南(5)多机数据库、复制、哨兵、集群
15 0
|
12小时前
|
存储 监控 NoSQL
Redis哨兵&分片集群
Redis哨兵&分片集群
8 0
|
12小时前
|
监控 NoSQL 算法
Redis 搭建哨兵集群
Redis 搭建哨兵集群
24 1
|
12小时前
|
监控 NoSQL Unix
redis----主二从三哨兵环境配置
redis----主二从三哨兵环境配置
24 0
|
12小时前
|
存储 监控 NoSQL
Redis 架构深入:主从复制、哨兵到集群
大家好,我是小康,今天我们来聊下 Redis 的几种架构模式,包括主从复制、哨兵和集群模式。
Redis 架构深入:主从复制、哨兵到集群
|
12小时前
|
存储 编解码 人工智能
GEE数据集——哨兵2号Sentinel-2 云概率数据集
GEE数据集——哨兵2号Sentinel-2 云概率数据集
163 2
|
7月前
|
存储 NoSQL 网络安全
Redis安装(单机、主从、哨兵、集群)
Redis安装(单机、主从、哨兵、集群)
136 1