分布式架构 03- 副本协议
上一篇文章中介绍了分布式中数据的分布方式,有普通哈希、按数据范围,按数据量、一致性哈希、哈希桶、以及组合方式。
它解决了“数据”分布的问题,是一个典型的分而治之思想的体现。
本文讲解下「 副本协议」,副本与副本之间的”沟通交流“是怎么规定的。
副本协议是怎么控制副本数据的读写行为、使得副本满足一定的可用性和一致性要求。
它还具有一定的对抗异常状态的容错能力,一个优秀的架构师会尽可能对异常情况进行处理。
回忆下之前的文章提到异常有:网络分化、机器宕机、消息丢失、消息乱序、存储数据丢失、存储数据读出的数据错误、磁盘故障、网络不稳定以及拥塞。
从 CAP 定理得出,想要在分布架构中设计一个满足强一致性,且出现网络异常时都可用的副本协议是不可能。
实际的副本协议总是在可用性、一致性与性能等要素之间妥协折中。
版权声明: 本文为 InfoQ 作者【亮哥的成长三板斧】的原创文章。
原文链接:【http://xie.infoq.cn/article/d5b86f509dded12b830bed080】。文章转载请联系作者。
评论