主从复制模式
- 概念:
- 作用:
- 为什么使用集群:
- 动手实操
- 1、环境准备
- 2、配置redis.conf配置文件
- 3、再次查看主从节点信息
- 4、验证主从模式
概念:
主从复制,是指将一台Redis服务器的数据,复制到其他的Redis服务器。前者称为主节点(Master/Leader),后者称为从节点(Slave/Follower), 数据的复制是单向的!只能由主节点复制到从节点(主节点以写为主、从节点以读为主)。
默认情况下,每台Redis服务器都是主节点,一个主节点可以有0个或者多个从节点,但每个从节点只能由一个主节点。
作用:
1.数据冗余:主从复制实现了数据的热备份,是持久化之外的一种数据冗余的方式。
2.故障恢复:当主节点故障时,从节点可以暂时替代主节点提供服务,是一种服务冗余的方式
3.负载均衡:在主从复制的基础上,配合读写分离,由主节点进行写操作,从节点进行读操作,分担服务器的负载;尤其是在多读少写的场景下,通过多个从节点分担负载,提高并发量。
4.高可用基石:主从复制还是哨兵和集群能够实施的基础。
为什么使用集群:
- 单台服务器难以负载大量的请求
- 单台服务器故障率高,系统崩坏概率大
- 单台服务器内存容量有限。
动手实操
1、环境准备
三台centos7虚拟机
节点 | IP | PORT |
---|---|---|
LBJ | 192.168.3.131 | 6379 |
slave01 | 192.168.3.137 | 6379 |
slave02 | 192.168.3.138 | 6379 |
默认已经都安装好redis了,redis默认安装路径在/usr/local/bin
,我分别在三台服务器的redis安装目录下,创建了一个kconfig
文件夹存放redis配置文件
分别进入redis命令行模式,使用 info replication
查看副本信息,默认都是master
2、配置redis.conf配置文件
注:我这次配置主从节点关系是是永久配置,不是临时配置
配置主从可以使用replicaof 或者slaveof(5.0以前)命令。
- 永久生效模式
在redis.conf中添加一行:slaveof/replicaof <masterip> <masterport>
slaveof/replicaof <masterip> <masterport>
注意:在5.0以后新增命令replicaof,与salveof效果一致。
-
临时模式
在从节点上使用redis-cli客户端连接到redis服务直接输入:
slaveof <masterip> <masterport>
命令,也可以临时配置主从关系,但是重启后会失效
3、再次查看主从节点信息
因为修改了配置文件,需要重启redis
至此redis的主从模式搭建完毕
4、验证主从模式
1) 在主节点中插入数据,查看其他从节点,都能获取数据
2) 在从节点中插入数据,报错从节点只允许读操作
3)主节点宕机,两个从节点不会成为主节点,重启主节点即可恢复
重启主节点
4) 从节点宕机
重启从节点,即恢复之前的主从关系。由于我配置的永久生效的主从模式,因此不需要slaveof
命令