Redis 哨兵模式
1. 是什么
反客为主的自动版,能够后台监控主机是否故障,如果故障了根据投票数自动将从库转换为主库。
2. 使用步骤
2.1 调整为一主二仆模式,6379 带着 6380 、6381
2.2 自定义的/myredis 目录下新建 sentinel.conf 文件,名字绝不能错
2.3 配置哨兵, , 填写内容
sentinel monitor mymaster 127.0.0.1 6379 1
其中 mymaster 为监控对象起的服务器名称, 1 为至少有多少个哨兵同意迁移的数量。
2.4 启动哨兵
执行 redis-sentinel /myredis/sentinel.conf
客户端链接的哨兵节点,通过哨兵访问redis服务器
2.5 当主机挂掉,从机选举中产生新的主机
大概 10 秒左右可以看到哨兵窗口日志,切换了新的主机
哪个从机会被选举为主机呢?根据优先级别:slave-priority
原主机重启后会变为从机。
2.6 复制延时
由于所有的写操作都是先在 Master 上操作,然后同步更新到 Slave上,所以从 Master同步到 Slave 机器有一定的延迟,当系统很繁忙的时候,延迟问题会更加严重,Slave机器数量的增加也会使这个问题更加严重。
2.7 自动故障恢复
领头哨兵选择执行自动故障恢复原则:选择顺序如下
- 优先级在 redis.conf 中默认:slave-priority 100,值越小优先级越高
- 偏移量是指获得原主机数据最全的,偏移量是递增的
- 每个 redis 实例启动后都会随机生成一个 40位的 runid
选出新主服务器后更新主从状态:主服务器执行slaveof no one,正式成为新主服务器。再通过slaveof <ip><port>命令明确新主从关系
2.8 哨兵原理
主观下线——客观下线——选举领头哨兵——执行自动故障转移
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求
· NetPad:一个.NET开源、跨平台的C#编辑器
· 面试官:你是如何进行SQL调优的?