副本机制与副本同步------《Designing Data-Intensive Applications》读书笔记6
进入到第五章了,来到了分布式系统之中最核心与复杂的内容:副本与一致性。通常分布式系统会通过网络连接的多台机器上保存相同数据的副本,所以在本篇之中,我们来展开看看如何去管理和维护这些副本,以及这个过程之中会遇到的各种问题。 1.副本 在数据系统之中,我们通常会有这样几个原因来使用副本技术: 保持地理位置接近用户,从而减少延迟(如:Cache,CDN技术) 提高系统的可用性和鲁棒性,即使系统中的某些部分已经失效了,仍然可以对外提供服务。(如:GFS三副本的设计) 通过扩展性来提供读查询,从而增加读取吞吐量。(如:ZooKeeper之中的Observer) 首先,如果副本的数据不随时间变化,那么副本的管理是比较简单的:只需要将数据复制到每个节点一次,就OK了。副本管理真正的困难在于对副本数据的修改,这会涉及到很多琐碎的问题。其次,副本复制时要考虑许多权衡,使用同步还是异步复制,以及如何处理失效的副本?接下来我们来一一探讨这个问题。 2.Leader-Follower机制 如何保障多个副本在不同节点上的一致性一直分布式系统之中的一个核心问题。分布式系统在写入数据时,需要由每个副本进行处理;否则...

