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 哨兵原理

 

 主观下线——客观下线——选举领头哨兵——执行自动故障转移

posted @   堤苏白  阅读(125)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求
· NetPad:一个.NET开源、跨平台的C#编辑器
· 面试官:你是如何进行SQL调优的?
点击右上角即可分享
微信分享提示