Redis高可用(主从复制、哨兵模式和Cluster集群)

本文深入探讨Redis的高可用性,包括持久化、主从复制、哨兵模式和Cluster集群。主从复制提供数据备份、故障恢复和读负载均衡,哨兵模式实现自动化故障转移,Cluster集群则解决写操作负载均衡和存储扩展问题。通过配置和实践,了解如何搭建和维护Redis的高可用环境。
摘要由CSDN通过智能技术生成

目录

一、Redis高可用

1.持久化

2.主从复制

3.哨兵

4.Cluster集群

二、主从复制

1.概念

2.作用

3.主从复制流程

4.配置主从复制

三、哨兵模式

1.功能

2.作用

3.组成

4.故障转移机制

5.主节点选举依据

6.配置哨兵模式

7.故障模拟

8.恢复故障节点

四、Cluster群集

1.简介

2.作用

(1)数据分区

(2)高可用

3.数据分片原理

4.Redis集群的主从复制模型

5.搭建 redis cluster 集群


一、Redis高可用

        在web服务器中,高可用是指服务器可以正常访问的时间,衡量的标准是在多长时间内可以提供正常服务。(99.9%、99.99%、99.999%等等)

高可用的计算公式是1-(宕机时间)/(宕机时间+运行时间)有点类似与网络传输的参数误码率,我们用9的个数表示可用性

2个9:99%=1%365=3.6524h=87.6h

4个9:99.99%=0.01%36524*60=52.56min

5个9:99.999%=0.001%*365=5.265min

11个9:几乎一年宕机时间只有几分钟

        但是在Redis语境中,高可用的含义似乎要宽泛一些,除了保证提供正常服务(如主从分离、快速容灾技术),还需要考虑数据容量的扩展、数据安全不会丢失等。

        在Redis中,实现高可用的技术主要包括持久化、主从复制、哨兵和Cluster集群。

1.持久化

       持久化是最简单的高可用方法(有时甚至不被归为高可用的手段),主要作用是数据备份,即将数据存储在硬盘,保证数据不会因进程退出而天失。

2.主从复制

        主从复制是高可用Redis的基础,哨兵和集群都是在主从复制基础上实现高可用的。主从复制主要实现了数据的多机备份,以及对于读操作的负载均衡和简单的故障恢复。

缺陷:故障恢复无法自动化;写操作无法负载均衡;存储能力受到单机的限制。

3.哨兵

        在主从复制的基础上,哨兵实现了主节点自动化的故障恢复,但无法对从节点自动故障转移,在读写分离场景下,从节点故障会导致读服务不可用。

缺陷:写操作无法负载均衡;存储能力受到单机的限制;需要对从节点额外做监控。

4.Cluster集群

        通过集群,Redis解决了写操作无法负载均衡,以及存储能力受到单机限制的问题,实现了较为完善的高可用方案。

缺陷:成本和资源需求打。

二、主从复制

1.概念

        主从复制,是指将一台Redis服务器的数据,复制到其他的Redis服务器。前者称为主节点Master,后者称为从节点Slave;

        数据的复制是单向的,只能由主节点到从节点

        默认情况下,每台Redis服务器都是主节点,且一个主节点可以有多个从节点(或没有从节点),但一个从节点只能有一个主节点。

2.作用

(1)数据冗余:主从复制实现了数据的热备份,是持久化之外的一种数据冗余方式。

(2)故障恢复:当主节点出现问题时,可以由从节点提供服务,实现快速的故障恢复;实际上是一种服务的冗余。

(3)负载均衡:在主从复制的基础上,配合读写分离,可以由主节点提供写服务,由从节点提供读服务(即写Redis数据时应用连接主节点,读Redis数据时应用连接从节点),分担服务器负载;尤其是在写少读多的场景下,通过多个从节点分担读负载,可以大大提高Redis服务器的并发量。

(4)高可用基石:除了上述作用以外,主从复制还是哨兵和集群能够实施的基础,因此说主从复制是Redis高可用的基础。

3.主从复制流程

(1)若启动一个slave机器进程,则它会向Master机器发送一个"sync command"命令,请求同步连接。

(2)无论是第一次连接还是重新连接,Master机器都会启动一个后台进程,将数据快照保存到数据文件中(执行rdb操作),同时Master还会记录修改数据的所有命令并缓存在数据文件中。 

(3)后台进程完成缓存操作之后,Master机器就会向slave机器发送数据文件,Slave端机器将数据文件保存到硬盘上,然后将其加载到内存中,接着Master机器就会将修改数据的所有操作一并发送给slave端机器。若slave出现故障导致宕机,则恢复正常后会自动重新连接。

(4)Master机器收到slave端机器的连接后,将其完整的数据文件发送给Slave端机器,如果Mater同时收到多个slave发来的同步请求,则Master会在后台启动一个进程以保存数据文件,然后将其发送给所有的slave端机器,确保所有的slave端机器都正常。

4.配置主从复制

主节点:192.168.116.40

从节点:192.168.116.50

从节点:192.168.116.60

主、从节点配置文件修改<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值