【Redis】Redis哨兵架构基础
程序员文章站
2022-06-27 21:11:17
Sentinel(哨兵)是Redis 的高可用性解决方案,通过哨兵可以创建一个当主服务器出现故障时自动将从服务器升级为主服务器的分布式系统。解决了主从复制出现故障时需要人为干预的问题。一、背景引入Redis 的主从复制的作用有数据预热、负载均衡、故障恢复等,但主存复制存在一个问题就是故障恢复无法自动化,本文介绍的哨兵,它基于redis主存复制,主要作用是解决主节点故障恢复自动化的问题,进一步提高系统的高可用性。二、作用与架构(1)作用 在介绍哨兵之前,首先从宏观的角度回顾一下Re......
Sentinel(哨兵)是Redis 的高可用性解决方案,通过哨兵可以创建一个当主服务器出现故障时自动将从服务器升级为主服务器的分布式系统。解决了主从复制出现故障时需要人为干预的问题。
一、背景引入
Redis 的主从复制的作用有数据预热、负载均衡、故障恢复等,但主存复制存在一个问题就是故障恢复无法自动化,本文介绍的哨兵,它基于redis主存复制,主要作用是解决主节点故障恢复自动化的问题,进一步提高系统的高可用性。
二、作用与架构
(1)作用
在介绍哨兵之前,首先从宏观的角度回顾一下Redis实现高可用相关技术。它包括:持久化、复制、哨兵和集群,主要作用与解决的问题是:
- 持久化:持久化是最简单的高可用方法(有时甚至不被归为高可用的手段),主要作用是数据备份,即将数据存储在硬盘,保证数据不会因进程退出而丢失
- 复制:复制是高可用Redis的基础,哨兵和集群都在复制基础上实现高可用的。复制主要实现了数据的多机备份,以及读操作的负载均衡和简单的故障转移。缺陷:故障恢复无法自动化。写操作无法负载均衡、存储能力受到单击的限制
- 哨兵:在复制的基础上,哨兵实现了自动化的故障恢复。缺陷:写操作无法负载均衡;存储能力受到单机的限制。
- 集群:通过集群,Redis解决了写操作无法负载均衡,以及存储能力受到单机限制的问题,实现了较为完善的高可用方案。
回到主题哨兵:
Redis Sentinel,即Redis哨兵,在Redis 2.8版本开始引入。哨兵的核心功能是主节点的自动故障转移。下面是Redis官方文档对于哨兵功能的描述:
- 监控(Monitoring):哨兵会不断地检查主节点和从节点是否运作正常。
- 自动故障转移(Automatic failover):当主节点不能正常工作时,哨兵会开始自动故障转移操作,它会将失效主节点的其中一个从节点升级为新的主节点,并让其他从节点改为复制新的主
本文地址:https://blog.csdn.net/qq_41893274/article/details/107371963