Redis哨兵

本文深入讲解Redis哨兵(Sentinel)系统,介绍其作为官方高可用方案如何监控多个Redis服务实例,实现故障检测与自动转移。Sentinel通过分布式架构运行多个进程,确保系统的稳定性和可靠性。
摘要由CSDN通过智能技术生成

Redis哨兵

高可用Sentinel

  • 官方提供的高可用方案,可以用他管理多个Redis服务实列
  • 编译后产生redis-sentinel程序文件
  • Redis Sentinel是一个分布式系统,可以在一个架构中运行多个Sentinel进程

启动Sentinel

  • 将src目录下产生redis-sentine程序文件复制到$REDIS_HOME/bin
  • 启动一个运行在Sentinel模式下的Redis服务实列
    • redis-sentinel
    • redis-server /path/to/sentinel-conf --sentinel
  • redis Sentinel是一个分布式系统,可以在一个架构中运行多个Sentinel进程

监控 Mopitoring

  • Sentinel会不断检查Master和Slaves是否正常
  • 每一个Sentinel可以监控任何多个Master和该Master的Slaves

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-A8qK6BhT-1583214641788)(E:\Typora\Redis图片\Redis哨兵图片.png)]

Sentinel网络

  • 监控同一个Master和Sentinel会自动连接,组成一个分布式Sentinel网络,互相通信并交换彼此关于监视服务器的信息

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Z7sA6uCz-1583214641788)(E:\Typora\Redis图片\Redis的Sentinel网络图.jpg)]

服务器下线

  • 当一个Sentinel认为被监视的服务器已经下线时,它会向网络中的其他Sentinel进行确认,判断该服务器是否真的已经下线。
  • 如果下线服务器为主服务器,那个Sentinel网络将对下线主服务器进行自动故障转移,通过将下线主服务器的某个从服务器提升为新的主服务器,并让其从服务器转为复制新的主服务器,以此来让系统重新回到上线的状态。

Sentinel配置文件

  • 至少包含一个监控配置选项,用于指定被监控Master的相关信息
  • Sentinel monitor,列如sentinel monitor mymaster 127.0.0.1 6379 2 监视mymaster 的主服务器,服务器ip和端口,将这个主服务器半段为下线失效至少需要2个Sentinel同意,如果多数Sentinel同意才会执行故障转移
  • Sentinel会根据Master的配置自动发现Master的Slaves
  • Sentinel默认端口号为26379

Sentinel配置举列

  • 执行以下两条命令,将创建两个监视主服务器s1的sentinel实列:
  • $redis-sentinel sentinel1.conf
  • $redis-sentinel sentinel2.conf
  • 其中sentinel1.conf的内容为:

prot 26379

Sentinel monitro s1 127.0.01 6379 2

  • sentinel2.conf内容为:

prot 26380

127.0.01 6379 2

  • sentinel2.conf内容为:

prot 26380

Sentinel monitor.s1 127.0.0.1 6379 2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值