主从复制常见问题

读写分离

  • 数据复制延迟;
  • 读到过期数据;
  • 从节点故障;
主从配置不一样
  • maxmemory 不一致;
  • 数据结构优化参数,比如:hash-max-ziplist-entries,主节点优化了,从节点没优化,导致的内存不一致问题;
规避全量复制
  • 第一次连接到 master 上,无法避免全量复制;
  • 设置小主节点;
  • 在低峰做全量复制;
  • 节点运行 ID 不匹配,比如主节点重启(运行 ID 变化)导致的全量复制,可用故障转移来解决,例如哨兵或集群;
  • 复制积压缓冲区(repl_back_buffer)不足,可以通过配置其大小 rel_backlog_size 来解决;
规避复制风暴
  • 单主节点复制风暴:主节点重启,多从节点复制,可通过变更复制拓扑解决;
  • 单机器复制风暴:一台机器上有多个 master,机器重启后,所有的 master 都会进行全量复制,可以把 master 分布在多个机器上解决,更好的办法是高可用方案,master 挂掉,slave 晋升为 master;

    推荐阅读