【分布式系列】复制
原文发表于公众号:伟达实验室。
复制,也就是多台机器节点通过网络传输保存的数据,保持各个节点数据的一致性。
那为什么会需要复制呢?
首要的作用为了保证分布式系统的高可用性,当分布式中的一台机器发生故障时,整个系统可以保持可用。
其次,可以增加系统的吞吐性。数据的复制,使得分布式中的每个机房都可以保持同等的对外服务,可以提高系统服务的高伸缩性,提高吞吐量。
最后,也可以在一定程度上减少延迟。将同样的数据存储在距离用户最近的机房,在保持同等功能服务的同时,可以在一定程度上减少延迟。
在分布式使用中,我们常见的是三种多副本方案:主从复制、多主节点复制、无主节点复制。
主从复制,所有的客户端写操作都会发送到主节点,由主节点将更改数据分发复制到其他从节点。该模式下,所有节点都可以接收读请求,但只有主节点可以接收写请求。
多主复制,与主从复制的不同点在于,多主复制有多个主节点,每个主节点都可以接收写请求,该主节点会将更改数据分发复制到其他主节点和从节点。
无主复制,客户端会直接将写请求发送给多个节点,节点之间保持数据的一致性。
每种方法各有其利弊,其中主从同步是最流行的,我