一篇教会你搭建redis主从复制,读写分离

首先了解主从复制简介

互联网三高架构:高并发,高性能,高可用。

单机redis的风险于问题:

问题一:机器故障
		现象:硬盘故障,系统崩溃
		本质:数据丢失,很可能对业务造成灾难性打击。
		结论:基本会放弃使用redis.
问题二:容器瓶颈
		现象:内存不足,从16G升级到64G,无线升级内存。
		本质:穷,硬件条件跟不上
		结论:放弃使用redis
结论:
		为了避免单点Redis服务器故障,准备多台服务器,互相连通,将数据复制多个副本保存在不同的服务器上,连接在一起,并保证数据是同步的,即使有其中一台服务器宕机,去他服务器依然可以继续提供服务,实现Redis的高可用,同时实现数据冗余备份。

多台服务器连接方案:

	提供数据方:master
	     主服务器,主节点,主库
	     主客户端
	 接收数据方:slave
	 	 从服务器,从节点,从库                                                        
	 	 从客户端
	 需要解决的问题:数据同步
	 核心工作:master的数据复制到slave中

在这里插入图片描述

主从复制:

	主从复制即将Master中的数据即使,有效的复制到slave中
	特征:一个master可以拥有多个slave,一个slave只对应一个master
	职责:
			master:
					写数据,
					执行写操作时,将出现变化的数据自动同步到slave
					读数据(可忽略)
			slave:
					读数据
					写数据(禁止)

主从复制的作用:

			一:读写分离,master写,slave读,提高服务器的读写负载能力
			二:负载均衡,基于主从结构,配合读写分离,由slave分担master负载,并根据需求的变化,改变slave的数量,
			通过多个从节点分担数据读取负载,大大提高Redis服务器并发量与数据吞吐量。
			三:故障恢复,当master出现问题时,由slave提供服务,实现快速的故障恢复,
			四:数据冗余,实现数据热备份,是持久化之外的一种数据冗余方式
			五:高可用,基于主从复制,构建哨兵模式与集群,实现Redis的高可用方案。

主从复制工作流程

		主从复制过程大体可以分为三个阶段:
			一:建立连接阶段(即准备阶段)
			二:数据同步阶段
			三:命令传播阶段

在这里插入图片描述

建立连接阶段工作流程:

	步骤一:设置Master恩德地址和端口,保存master信息
	步骤二:建立socket连接
	步骤三:发送ping命令,
	步骤四:身份验证
	步骤五:发送slave端口信息
	主从连接成功
	
          状态:
          	slave:
          			保存master的地址和端口
          	master:
          			保存slave的端口
          	总体:之间创建了连接的socket

在这里插入图片描述

主从连接

方式一:客户端发送命令
				slaveof 	<masterip>	<masterport>
方式二:启动服务器参数
				redis-server	-slaveof <masterip>	<masterport>
方式三:服务器配置
				slaveof	<masterip>	<masterport>

主从断开连接

	客户端发送命令    slaveof   no one			

授权访问:

		master配置文件设置密码:
		      requirepass <password>
		master客户端发送命令设置密码    
		       config     set       requirepass   <password>
		       config      get       requirepass
		 slave客户端发送命令设置密码
		 		auth   <password>
		 slave配置文件设置密码
		 			masterauth   <password>
	     启动客户端设置密码
	     			redis-cli   -a   <password>

数据同步阶段工作流程

			一:在slave初次连接master后,复制master中的所有数据到slave
			二:将slave的数据库状态更新成Master当前的数据库状态

开始主从同步搭建:

第一步修改redis.conf文件改成redis-6379.conf配置文件

	cat redis.conf | grep -v "#" | grep -v "^$" > redis-6379.conf

在这里插入图片描述

##第二步: 完成第一步会出现redis-6379.conf配置文件

在这里插入图片描述

第三步:创建conf文件夹

在这里插入图片描述

第四步: 创建data目录:

在这里插入图片描述

第五步:编辑redis-6379.conf 文件夹为如图:

在这里插入图片描述

第六步:移动redis-6379.conf到conf目录下并查看是否移动成功如图

在这里插入图片描述

第七步:复制redis-6379.conf文件为redis-6380.conf文件如下

在这里插入图片描述

第八步:修改redis-6380.conf文件

在这里插入图片描述

第九步:启动主库服务

在这里插入图片描述

第十步:启动从库服务:

在这里插入图片描述

连接主库redis

在这里插入图片描述

连接从库redis

在这里插入图片描述

测试主从同步,master库负责写数据,slave库负责读数据,

master库写数据后,在slave库可以查看到说明搭建成功

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值