Redis主从复制简单介绍
为了使得集群在一部分节点下线或者无法与集群的大多数节点进行通讯的情况下, 仍然可以正常运作, Redis 集群对节点使用了主从复制功能: 集群中的每个节点都有 1 个至 N 个复制品(replica), 其中一个复制品为主节点(master), 而其余的 N-1 个复制品为从节点(slave)。
那么上面是主从复制呢,简单的来说就是一个主节点master可以拥有一个甚至多个从节点的slave,而一个slave又可以拥有多个slave,如此下去,形成了强大的多级服务器集群架构。

其中主节点以写为主(可写也可以读),从节点只能读不可写入!【读写分离场景】
其中主节点写入的数据会同步(不是准实时的)到salve上,这样如果主节点出现故障,数据丢失,则可以通过salve进行恢复。【容灾恢复场景,注:因为数据不是实时同步的,可能会存在从salve恢复数据后有数据丢失问题】
综上:下面是关于redis主从复制的一些特点:
1.一个master可以有多个slave
2.除了多个slave连到相同的master外,slave也可以连接其他slave形成图状结构
3.主从复制不会阻塞master。也就是说当一个或多个slave与master进行初次同步数据时,master可以继续处理client发来的请求。相反slave在初次同步数据时则会阻塞不能处理client的请求。
4.主从复制可以用来提高系统的可伸缩性,我们可以用多个slave 专门用于client的读请求,比如sort操作可以使用slave来处理。也可以用来做简单的数据冗余
5.可以在master禁用数据持久化,只需要注释掉master 配置文件中的所有save配置,然后只在slave上配置数据持久化。
6.可以用于读写分离和容灾恢复。
Redis主从复制的常用的几种方式
一主二仆 A(B、C) 一个Master两个Slave
薪火相传(去中心化)A - B - C ,B既是主节点(C的主节点),又是从节点(A的从节点)
反客为主(主节点down掉后,手动操作升级从节点为主节点) & 哨兵模式(主节点down掉后,自动升级从节点为主节点)
本次主要介绍一主二仆,和反客为主的操作,薪火相传不做介绍。哨兵模式后面专门写一篇进行介绍!
Redis主从复制的搭建(一主二从)
1.下载Windows环境的Redis安装包
http://download.youkuaiyun.com/download/u010648555/10266615
或者
https://github.com/MicrosoftArchive/redis/releases
2.下载完成进行解压
解压后的目录如下图:

3.相关配置操作
(1)复制三分解压后的Redis
我自己本地修改了名称,复制后的文件夹名称显示如下:

(2)修改redis.windows.conf
redis-3.0.504-6379文件夹,不做修改!
redis-3.0.504-6380文件夹,修改如下:
port 6380
#slaveof <masterip> <masterport>
slaveof 127.0.0.1 6379
redis-3.0.504-6381文件夹,修改如下:
port 6381
#slaveof <masterip> <masterport>
slaveof 127.0.0.1 6379
(3)加入简单的window脚本,方便快速启动
在对应的redis文件夹下面新建 startRedisServer.bat 脚本文件,脚本内容为:
@echo off
redis-server.exe redis.windows.conf
@pause
然后在redis文件夹同级的目录下在新建 start6379.cmd、start6380.cmd、start6381.cmd。

start6379.cmd 脚本内容为:
@echo off
cd redis-3.0.504-6379
startRedisServer.bat
start6380.cmd 脚本内容为:
@echo off
cd redis-3.0.504-6380
startRedisServer.bat
start6381.cmd 脚本内容为:
@echo off
cd redis-3.0.504-6381
startRedisServer.bat
4.启动测试
启动规则:先启动主节点,然后在启动从节点!
(1)可以使用命令启动
进入相应的文件夹目录,使用启动命令:
redis-server.exe [redis.windows.conf]
(2)使用脚本启动
如上面图片,分别执行start6379.cmd,start6380.cmd,start6381.cmd。
先启动Master。使用客户端登录,查看信息如图:

再启动Slave。可以看到如图:

使用客户端登录Slave节点,查看信息如图:

本文深入探讨Redis主从复制机制,解析其工作原理,包括如何通过主从复制实现读写分离和容灾恢复,以及搭建一主二从的集群过程。
709

被折叠的 条评论
为什么被折叠?



