主从复制
来源:Node.js
主从复制
主从复制是一种数据复制和同步机制,其中一个Redis服务器(主服务器)将其数据复制到一个或多个其他Redis服务器(从服务器)
主从复制提供了数据冗余备份、读写分离和故障恢复等功能
主从复制的工作机制:
- 配置主服务器:
- 在主服务器的Redis配置文件中启用主从复制并指定从服务器的IP地址和端口号
- 可以使用replicaof配置选项或slaveof配置选项指定从服务器
- 连接从服务器
- 从服务器连接到主服务器并发送复制请求
- 发送SYNC命令请求进行全量复制
- 发送PSYNC命令请求进行部分复制(增量复制)
- 从服务器连接到主服务器并发送复制请求
- 全量复制(SYNC)
- 如果从服务器是第一次连接或无法执行部分复制,主服务器将执行全量复制
- 在全量复制期间,主服务器将快照文件(RDB文件)发送给从服务器,从服务器将接收并加载该文件以完全复制主服务器的数据
- 部分复制(PSYNC)
- 如果从服务器已经执行过全量复制并建立了复制断点,主服务器将执行部分复制
- 在部分复制期间,主服务器将发送增量复制流(replication stream)给从服务器,从服务器将接收并应用该流以保持与主服务器的同步
- 复制持久化
- 从服务器接收到数据后,会将其保存在本地磁盘上,以便在重启后仍然保持数据的一致性
- 同步延迟
- 从服务器的复制是异步的,因此存在复制延迟
- 延迟取决于网络延迟、主服务器的负载和从服务器的性能等因素。
- 读写分离
- 一旦建立了主从复制关系,从服务器可以接收读操作(不可以写入)
- 可以将读流量从主服务器分散到从服务器上,从而减轻主服务器的负载
- 故障恢复
- 如果主服务器发生故障,可以将一个从服务器提升为新的主服务器,以继续提供服务
- 当主服务器恢复时,它可以作为从服务器连接到新的主服务器,继续进行数据复制
配置
需要在redis文件夹下新建一个配置文件,例如redis-11451.conf
作为从服务器配置:
1 | bind 127.0.0.1 #ip地址 |
1 | redis-server ./redis-11451.conf # 启动从服务器,指定配置文件 |
评论