企业级Redis开发运维从入门到实践 (23)— Redis Sentinel(哨兵)的架构说明

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zx711166/article/details/83061656

主从复制高可用?

  • 手动故障转移
  • 写能力和存储能力受限
主从复制 — master故障

对于 Master 出现的故障,左边的 Client 是无法在做读写操作;右边的只读客户端是正常的,对应的 Client 服务是正常使用的;此时需要对这个故障进行处理,比较简单的方法是 向一个Slave 执行 slaveof no one 命令,将其设为新的 Master ,对另外的 Slave 执行 slaveof new master 命令将其连接到新的 Master 上;此时左边的 Client 就可以做读写操作了,右上角的Clinet设置只读权限。
在这里插入图片描述

架构说明

Redis Sentinel 可以看做是一个 Redis 的进程(分为多个节点,保证高可用及故障判断的公平性),这个进程不会存储数据,它是用来完成对Redis的一个故障判断故障转移通知客户端的过程。
对于客户端来说,不会再去通过Redis获取信息,而是记录Redis Sentinel的地址,通过Sentinel获取Master信息,根据返回Master信息进行连接。
在这里插入图片描述

Redis Sentinel故障转移
  1. 多个 sentinel 发现并确认 master 有问题。
  2. 选举出一个 sentinel 作为领导。
  3. 选出一个 slave 作为 master。
  4. 通知其余 slave 成为新的 master 的 slave。
  5. 通知客户端主从变化。
  6. 等待老的 master 复活成为新 master 的 slave。

在这里插入图片描述

Redis Sentinel监控多套 Master-Slave

Redis Sentinel通过 master-name 配置可以实现对多个 Master-Slave 进行监控,将在下面进行说明。
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/zx711166/article/details/83061656