Redis主从集群

命令:

  • slave <masterip> <masterport>

主从第一次同步是全量同步,slave重启后同步,则执行增量同步

全量同步: master将完整内存数据生成RDB,发送RDB到slave,后续命令则记录在repl_baklog,逐个发送给slave。

增量同步:slave提交自己的offset到master,master获取repl_baklog中从offset之后的命令给slave。

注意:repl_baklog大小有上限,写满后会覆盖最早的数据。如果slave断开时间过久,导致数据被覆盖,则无法实现增量同步,只能再次全量同步。

全量同步流程:

  1. slave节点请求增量同步。
  2. master节点判断replid,发现不一致,拒绝增量同步。
  3. master将完整内存数据生成RDB,发送RDB到slave。
  4. slave清空本地数据,加载master的RDB。
  5. master将RDB期间的命令记录在repl_baklog,并持续将log中的命令发送给slave。
  6. slave执行接受到的命令,保持与master之间的同步。

优化Redis主从集群

  • 在master中配置repl-diskless-sync yes启用无磁盘赋值,避免全量同步时的磁盘IO。
  • Redis单节点上的内存占用不要太大,减少RDB导致的过多磁盘IO。
  • 适当提高repl_baklog的大小,发现slave宕机尽快实现故障恢复,尽可能避免全量同步。
  • 限制一个master上的slave节点数量,如果实在太多slave,则可以采用主-从-从链式结构,减少master压力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值