天元建设集团有限公司商业承兑汇票信誉怎么样,seo公司关键词,中国空间站,中国seo第一人一、Redis主从复制概述
Redis主从复制#xff08;Master-Slave Replication#xff09;是Redis实现高可用性和读写分离的基础架构。通过主从复制#xff0c;数据可以从一个Redis服务器#xff08;主节点#xff09;复制到一个或多个Redis服务器#xff08;从节点#x…一、Redis主从复制概述
Redis主从复制Master-Slave Replication是Redis实现高可用性和读写分离的基础架构。通过主从复制数据可以从一个Redis服务器主节点复制到一个或多个Redis服务器从节点从而实现数据的冗余备份、读写分离和故障恢复。
主从复制的主要优势包括 数据冗余实现数据的热备份是持久化之外的一种数据冗余方式 故障恢复当主节点出现问题时可以由从节点提供服务实现快速的故障恢复 读写分离主节点提供写服务从节点提供读服务分担服务器负载 高可用基石主从复制是哨兵和集群能够实施的基础
二、主从同步核心原理
2.1 同步过程概述
Redis主从同步主要分为两个阶段 全量同步Full Resynchronization从节点初次连接主节点时进行完整数据同步 增量同步Partial Resynchronization主节点将写命令持续发送给从节点
2.2 全量同步流程 建立连接从节点连接主节点发送PSYNC命令 生成RDB主节点执行BGSAVE生成RDB快照文件 发送RDB主节点将RDB文件发送给从节点 清空从节点数据从节点接收RDB前会清空自身数据 加载RDB从节点加载RDB文件恢复数据 发送缓冲区命令主节点将生成RDB期间的写命令发送给从节点
2.3 增量同步机制
Redis 2.8之后引入了增量复制主要基于以下三个核心概念 复制偏移量Replication Offset主从节点各自维护一个偏移量 复制积压缓冲区Replication Backlog主节点维护的固定长度队列 服务器运行IDRun ID每个Redis节点启动时生成的唯一标识
当从节点断开重连后会向主节点发送自己的复制偏移量和Run ID。如果Run ID匹配且偏移量在积压缓冲区范围内则执行增量同步否则执行全量同步。
三、主从同步实现方式
3.1 配置方式
Redis提供多种方式配置主从复制
配置文件方式
在从节点的redis.conf中添加
replicaof masterip masterport
命令行方式
启动从节点后执行
redis-cli REPLICAOF 192.168.1.1 6379
运行时修改
在不重启服务的情况下修改
redis-cli REPLICAOF 192.168.1.1 6379
# 取消复制
redis-cli REPLICAOF NO ONE
3.2 认证配置
如果主节点设置了密码需要在从节点配置
masterauth master-password
3.3 只读从节点
默认情况下从节点是只读的Redis 2.6可通过配置修改
replica-read-only yes
四、主从同步优化与注意事项
4.1 网络中断处理
Redis 2.8支持部分重同步通过以下配置优化
# 积压缓冲区大小默认1MB
repl-backlog-size 1mb
# 积压缓冲区存活时间默认1小时
repl-backlog-ttl 3600
4.2 无盘复制
Redis 6.0支持无盘复制主节点直接通过socket发送RDB到从节点
repl-diskless-sync yes
# 等待更多从节点连接的时间
repl-diskless-sync-delay 5
4.3 重要配置参数
# 从节点ping主节点间隔
repl-ping-replica-period 10
# 复制超时时间
repl-timeout 60
# 是否禁用TCP_NODELAY
repl-disable-tcp-nodelay no
五、主从同步监控与管理
5.1 信息查看
使用INFO replication命令查看复制状态
redis-cli INFO replication
5.2 故障处理
常见问题及解决方案 同步延迟检查网络状况适当增大repl-backlog-size 全量同步频繁确保repl-backlog-size足够大避免主节点频繁重启 从节点数据不一致检查主从节点maxmemory策略是否一致