分布式基础(四)复制

复制是保证分布式系统高可用的基础,让一个数据存储多个副本,当某个副本所在的节点出现故障时,能够自动切换到其它副本上,从而实现故障恢复。

多个副本通常有一个为主副本,其它为备副本。主副本用来处理写请求,备副本主要用来处理读请求,实现读写分离。主副本将同步操作日志发送给备副本,备副本通过回放操作日志获取最新修改。

主备副本之间有两种复制协议,一种是强同步复制协议,一种是异步复制协议。

强同步复制协议

要求主副本将同步操作日志发给备副本之后进行等待,要求至少一个备副本返回成功后,才开始修改主副本,修改完成之后通知客户端操作成功。

优点:至少有一个备副本拥有完整的数据,出现故障时可以安全地切换到该备副本,因此一致性好。

缺点:可用性差,因为主副本需要等待,那么整个分布式系统的可用时间就会降低。

异步复制协议

主副本将同步操作日志发给备副本之后不需要进行等待,直接修改主副本并通知客户端操作成功。

优点:可用性好。

缺点:一致性差。

本站所有文章均由网友分享,仅用于参考学习用,请勿直接转载,如有侵权,请联系网站客服删除相关文章。若由于商用引起版权纠纷,一切责任均由使用者承担
极客文库 » 分布式基础(四)复制

Leave a Reply

欢迎加入「极客文库」,成为原创作者从这里开始!

立即加入 了解更多