Redis集群(一)主从模式之哨兵机制

小鱼儿 2022-05-24 06:47 342阅读 0赞
  1. 如果master断开连接,则其slaves都会断开与master的连接,而缺少了master,这是就需要手动指定其他某个端口作为master,并设置其余的slaves指向这个master(*[手动设置的方法很简单,点击参考主从复制创建方式][Link 1]*)。很是麻烦,哨兵机制很好地解决了这个问题。

高可用Sentinel

1、官方提供的高可用方案,可以用它管理多个Redis服务实例

2、编译后产生redis-sentinel 程序文件

3、Redis Sentinel 是一个分布式系统,可以在一个架构中运行多个Sentinel进程

启动Sentinel

  • ①将src目录下的产生redis-sentinel程序文件复制到$REDIS_HOME/bin ②启动一个运行在Sentinel模式下的Redis服务实例 redis-sentinel
  • 或:redis-server /path/to/sentinel.conf —sentinel

Redis Sentinel 是一个分布式系统,可以在一个架构中运行多个Sentinel进程。Sentinel会不断检查Master和Slaves是否正常,并且每一个Sentinel可以监控任意多个Master和该Master下的Slaves

20180524205146684

  1. 使用一个Sentinel监控多个Master及其下的Slaves,如果这个Sentinel出现故障,监控效果也会一同丧失。所以使用分布式设计搭建一个Sentinel网络系统,就解决了这个问题。

Sentinel网络

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

20180524210855401

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

Sentinel配置文件

至少包含一个监控配置选项,用于指定被监控master的相关信息

发表评论

表情:
评论列表 (有 0 条评论,342人围观)

还没有评论,来说两句吧...

相关阅读