redis学习笔记(16)哨兵模式

1、哨兵模式的功能

  • 监控(Monitor):哨兵(sentinel)会不断地检查系统的master和slave是否运行正常。
  • 提醒(Notification):当监控某个哨兵出现了问题的时候,哨兵可以通过api向程序和管理员发送请求。
  • 自动故障迁移(automatic failover):当系统中的一个master不能工作时候,这个时候哨兵(sentinel)会自动进行故障转移操作,它会将master系统中的一个slave自动生成master,当客户端对已经失效的master时候,这个时候我们的新的master会自动替换到原来失效的master。

每个哨兵(sentinel) 会向其它哨兵(sentinel)、master、slave定时发送消息,以确认对方是否”活”着,如果发现对方在指定时间(可配置)内未回应,则暂时认为对方已挂(所谓的”主观认为宕机” Subjective Down,简称sdown).
若“哨兵群”中的多数sentinel,都报告某一master没响应,系统才认为该master"彻底死亡"(即:客观上的真正down机,Objective Down,简称odown),通过一定的vote算法,从剩下的slave节点中,选一台提升为master,然后自动修改相关配置.

2、实现流程

  1)创建sentinel.conf文件,名称不能错,文件内容如下:

1
2
3
4
5
6
7
# 禁止保护模式
protected-mode no
# 配置监听的主服务器,这里sentinel monitor代表监控,mymaster代表服务器的名称,可以自定义,192.168.11.128代表监控的主服务器,6379代表端口,2代表只有两个或两个以上的哨兵认为主服务器不可用的时候,才会进行failover操作。
sentinel monitor mymaster 127.0.0.1 6380 1
# sentinel author-pass定义服务的密码,mymaster是服务名称,236300是Redis服务器密码
# sentinel auth-pass <master-name> <password>
sentinel auth-pass mymaster 236300

  2)启动哨兵进程

1
./redis-sentinel ../sentinel.conf

3、故障恢复

  

优先级:在 redis.conf 中默认 slave-priority 100,值越小优先级越高。

偏移量:指获得原主机数据最全的概率。

runid:每个 redis 实例启动后都会随机生成一个 40 位的 runid。

 

 

参考:Redis哨兵(Sentinel)模式 - 简书 (jianshu.com)

参考:Redis | ZC 的学习录 (zhangc233.github.io)

 
posted @   ☞@_@  阅读(92)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· 单线程的Redis速度为什么快?
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
点击右上角即可分享
微信分享提示