大多数分布式系统都分布在多个子网络。每个子网络就叫做一个区(partition)。分区容错的意思是,区间通信可能失败。比如,一台服务器放在中国,另一台服务器放在美国,这就是两个区,它们之间可能无法通信。一般来说,分区容错无法避免。
1.2 一致性和可用性的矛盾
要保证多个节点的一致性,当一个节点在写入数据的时候,其他节点就需要锁定,等待数据同步完成。这时,就不能保证其他节点的可用性。
如果各个节点同时可读写数据,保证了节点的可用性,就不能保证各个节点之间数据一致性。
因此,一致性和可用性是矛盾的。
网友评论