Redis7.x安装系列教程(二)主从部署&原理详解
1、什么是主从复制
主从复制是指将一台Redis服务器的数据,复制到其他的Redis服务器上。前者称为主节点(master),后者是从节点(slave),数据的复制是单向的,只能是从主节点到从节点。每台Redis服务器未修改配置前都是主节点,一个主节点可以0~N个从节点,但一个从节点只能对应一个主节点。
1.1、主从复制的作用
- 数据冗余: 主从复制实现数据的热备份,是持久化之外的一种数据冗余方式。
- 故障恢复: 当主节点出现问题时,可以由从节点提供服务,实现快速故障恢复,是一种服务的冗余。
- 负载均衡: 在主从复制基础上,配合读写分离,由主节点提供写服务,从节点提供读服务,分担服务器负载。适合读多写少的场景,多个从节点分担读负载,提高Redis服务器的并发量。
- 高可用基石: 主从复制是哨兵和集群实施的基础。
1.2、整体架构图
1.3、主从复制的缺点
- 复制延时,信号衰减
- 所有的写操作都在master,再同步更新给slave,机器同步会有一定的延迟,
- 当系统繁忙时,延迟问题会更严重,
- 而且随着slave机器数量增加,延迟问题也会加重。
- master挂了无法自动重选
- 默认情况,master挂了不会从slave自动选出一个master,
- 每次都要人工干预。(也就有哨兵、集群的出现)
2、环境准备&部署说明
环境准备参考《Redis7.x安装系列教程(一)单机部署》
本文以1主2从的方式来搭建,也为哨兵部署做前期准备。
主服务:192.168.242.41
从服务1:192.168.242.42
从服务2:192.168.242.43
部署步骤说明:
- 以单机redis-os0克隆出redis-os1-master,redis-os2-slave1。
- 修改slave1的配置,启动查看信息,确认主从配置是否生效。
- 以slave1克隆出slave2,redis配置无需修改【克隆相关修改除外】。
3 、配置Redis
主节点不需要做任何修改,也就是单机部署时的配置;
从节点需要增加声明主节点信息,如果主节点有配置密码验证,需要加主节点授权信息。
每个从节点配置都一样。
配置完启动即可。
# 主节点无密码验证,从节点配置
replicaof 192.168.242.41 6379
# 主节点有密码验证,从节点配置
replicaof 192.168.242.41 6379
masterauth 【主节点设置requirepas/s的值】
4、查看主从服务配置是否生效
有两种方式查看主从服务配置信息命令:
方式一:在客户端连接命令后直接带命令,
方式二:先连接再命令。
# 无密码模式,即protected-mode no
redis-cli info replication
# 有密码模式,即protected-mode yes
# 方式一:连接时带密码
redis-cli -a pass info replication
# 方式二:先连接再用auth授权
redis-cli
auth pass
info replication
主节点信息示例
从节点信息示例
5、补充说明单机部署下载地址确认
《Redis7.x安装系列教程(一)单机部署》
Redis官网下载地址:https://redis.io/downloads/
,往下拉会看到 Redis Stack downloads会看到两个分支:Redis Stack 7.4 和Older Redis Stack Version。
点开 Older Redis Stack Version -> Redis downloads -> Install Redis from source 再往下拉会看 Latest stable release (最新稳定版本)的链接,也就是wget的链接。
再往下拉有其他版本,下载链接用鼠标右击获取,或者直接访问https://github.com/redis/redis-hashes/
。
6、我的公众号
敬请关注我的公众号:大象只为你,持续更新技术知识......