5、Redis主从架构

Redis主从架构提供高可用性,数据备份,读写扩展和负载均衡。通过配置主从节点,当主节点故障时,从节点可接管服务。主从复制包括全量和部分复制过程,Jedis作为客户端库,用于连接和操作Redis,同时支持lua脚本实现原子操作。
摘要由CSDN通过智能技术生成

Redis主从架构

在这里插入图片描述
主从架构的主要优势在于:

1)、高可用性:当主节点发生故障或不可用时,从节点可以自动接替主节点的角色,确保系统的持续可用性。这种故障转移
	的机制可以极大地减少服务中断时间,提高应用的可靠性
	
2)、数据备份:从节点复制主节点的数据,充当了主节点数据的备份。在主节点数据丢失或损坏的情况下,可以使用从节点
	的数据进行恢复,确保数据的完整性和可靠性。
	
3)、扩展性:通过添加多个从节点,可以扩展系统的读取能力。读取操作可以在多个从节点上并行执行,从而提高系统的读
	取吞吐量和响应速度。

4)、负载均衡:主节点负责写入操作,从节点负责读取操作,将读写操作分担到不同的节点上,实现负载均衡,提高系统整
	体性能。

1、redis主从架构搭建

准备两个虚拟机:
	我的主节点ip为:192.168.0.29
	    从节点ip为:192.168.0.30	
	    
1)、#编辑配置文件:
	[root@localhost redis-6.2.7]# vim redis.conf

	#修改配置
	#配置主从复制
	# 从192.168.0.29 6379的redis实例复制数据,Redis 5.0之前使用slaveof 
	replicaof 192.168.0.29 6379 

	# 配置从节点只读
	replica‐read‐only yes  

2)、#在启动主节点之后,再启动从节点 
	[root@localhost redis-6.2.7]# src/redis-server redis.conf

	#连接从节点:
	[root@localhost redis-6.2.7]# src/redis-cli

3)、#测试在192.168.0.29 6379实例上写数据,192.168.0.30 6379 实例是否能及时同步新修改数据
	#192.168.0.29 6379 写数据
	127.0.0.1:6379> set tdKey 666
	
	#192.168.0.30 6379 实例上是否能获取数据
	127.0.0.1:6379> get tdKey 

2、Redis主从工作原理

	如果你为master配置了一个slave,不管这个slave是否是第一次连接上Master,它
都会发送一个PSYNC 命令给master请求复制数据。

	master收到PSYNC命令后,会在后台进行数据持久化通过bgsave生成最新的rdb
快照文件,持久化期间,master会继续接收客户端的请求,它会把这些可能修改数据集的
请求缓存在内存中。当持久化进行完毕以后,master会把这份rdb文件数据集发送给slave,
slave会把接收到的数据进行持久化生成rdb,然后再加载到内存中。然后,master再将
之前缓存在内存中的命令发送给slave。 

	当master与slave之间的连接由于某些原因而断开时,slave能够自动重连Master,
如果master收到了多个slave并发连接请求,它只会进行一次持久化,而不是一个连接一
次,然后再把这一份持久化的数据发送给多个并发连接的slave。

2.1、主从复制(全量复制)流程图:

在这里插入图片描述

数据部分复制:
	当master和slave断开重连后,一般都会对整份数据进行复制。但从redis2.8版本开始,
redis改用可以支持部分数据复制的命令PSYNC去master同步数据,slave与master能够在
网络连接断开重连后只进行部分数据复制(断点续传)。

	master会在其内存中创建一个复制数据用的缓存队列,缓存最近一段时间的数据,
master和它所有的 slave都维护了复制的数据下标offset和master的进程id,因此,当网络
连接断开后,slave会请求master 继续进行未完成的复制,从所记录的数据下标开始。如果
master进程id变化了,或者从节点数据下标 offset太旧,已经不在master的缓存队列里了,
那么将会进行一次全量数据的复制

2.2、主从复制(部分复制,断点续传)流程图:

在这里插入图片描述
如果有很多从节点,为了缓解主从复制风暴(多个从节点同时复制主节点导致主节点压力过
大),可以做如下架构,让部分从节点与从节点(与主节点同步)同步数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值