一文读懂Redis的哨兵机制

大家好,我是memo,这几天正在看<<Redis设计与实现>>这本书籍,看到了哨兵机制这块知识点,相信大家在面试中或多或少都会遇到。为此,我做了小笔记,巩固知识。

什么是哨兵机制

哨兵机制(sentinel) 是Redis解决高可用的一种解决方案:它是由一个或者多个sentinel 实例组成的一个sentinel 系统。如图所示:

在这里插入图片描述

上图显示sentinel系统监控着master节点和slave节点,并且slave节点与master节点存在数据复制功能。那么问题来了:

  • sentinel系统如何监控master节点和slave节点?
  • master节点和slave节点复制原理?
  • 假如master节点出现故障,sentinel系统进行故障转移?
  • sentinel系统中多个sentinel节点如何进行通信?
  • sentinel系统如何把master节点和slave节点通知给客户端?
  • sentinel系统如何判断master库是真的挂了?
  • sentinel系统到底选举哪个从库为新主库?

这些问题都会在后续文章中一一解答,希望可以带着问题来阅读文章,带着自己的思考在文章中寻求解答,希望能给你们一点帮助。

sentinel基本流程

sentinel其实就是一个运行在特殊模式下的Redis服务器。

在服务器初始化时,普通Redis服务器初始化时会通过载入RDB文件或者AOF文件来恢复数据库状态,而sentinel服务器由于不使用数据库,所以它在初始化时无需载入RDB文件或者AOF文件。

哨兵机制提供三个功能:监控故障转移通知

  • 监控:sentinel 系统可以监控任意多个主服务,以及主服务所属的所有从服务器,监控着他们的生命状态。

  • 故障转移:当Redis主服务挂掉之后,sentinel系统会从其所属的从服务器中选取一台从服务器作为master服务器保证服务的高可用。

  • 通知:sentinel系统会将主服务节点和从服务器节点相关信息通知到客户端,让客户端的数据始终为最新状态。

接下来,我们先看监控。监控指的就是哨兵进程运行时,它会周期性地心跳检测,检测所有主从服务器是否正常运行。心跳检测方式为周期性向主从服务器发送PING命令,若主从服务器在规

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值