什么是主从复制

本文探讨了单机系统面临的问题,如机器故障、容量和QPS瓶颈,并介绍了主从复制作为解决方案的角色。主从复制不仅提供数据副本,还实现了读写分离,提升系统性能。文章详细解释了主从复制的实现方式,包括命令和配置方法,以及全量复制和网络抖动后部分复制的具体步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

单机的问题

  • 机器故障(高可用问题,这是主从复制可以解决的问题);
  • 容量瓶颈;
  • QPS 瓶颈;

主从复制的作用

  • 提供数据副本;
  • 扩展读性能,即读写分离;

主从复制要点

  • 一个 master 可以有多个 slave;
  • 一个 slave 只能有一个 master;
  • 数据流是单向的,master 到 slave;

主从复制的两种实现方式

  • 命令
    • slaveof 这个命令是异步的,执行完会立即返回,具体完成时间和数据量有关;
    • slaveof no one 不再是谁的 slave,但之前的数据不会被清除;
  • 配置
slaveof ip port
slave-read-only yes

slave 第一次连上 master 进行全量复制的步骤

  1. s: <- psync ? - 1
  2. m: -> FULLRESYNC {runid} {offset}
  3. s: save master info
  4. m: bgsave
  5. m: -> send RDB
  6. m: -> send buffer
  7. s: flush old data
  8. s: load RDB

网络抖动后的部分复制

  1. s: <- connection lost
  2. m: write to repl_back_buffer
  3. s: <- connection to master
  4. s: <- pysnc {offset} {runid}
  5. m: -> continue
  6. m: -> send partial data
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值