Follow me on GitHub

为何需要复制?

在分布式系统中,复制是指在多个节点上保存同一数据的副本,节点之间通过网络进行通信,复制带来的好处有:

  • 容错
  • 水平扩展(吞吐量)
  • 降时延

容错

既然不同节点上有相同数据的副本,那单个节点崩溃只是副本数量减少了,数据在其他节点上依旧存在,并未丢失,从而实现节点容错;

水平扩展(吞吐量)

单个节点的计算、存储、网络、文件句柄等资源都非常有限,若数据只在一个节点上,则该数据的 所有读写负载 都只能由单个节点处理,若负载持续增长,超过单节点的处理能力,则可通过复制,将负载分散到多个节点,从而实现水平扩展。

降时延

对于服务全球用户的系统,若数据只在一个节点上,则地理距离带来的时延将无法忽视,从而影响用户体验。通过将数据复制到全球各处,用户可以从 就近 节点获取数据,从而降低时延。