六、CAP
CAP定理
分布式系统最大难点就是处理好各个节点的数据同步问题。CAP定理则是这方面的基本定理。
三个指标, C一致性(consistency)、A可用性(availability)、P分区容错性(partition tolerance)
P分区容错性
当由于网络原因致使集群中部分节点之间消息丢失或延迟了,此时系统应该依然是可用的
C一致性
在同一时刻客户端读取集群中任意节点上的数据都应该是一样的或者返回一个不可用的错误
A可用性
客户端每次请求服务都应该给出一个响应,而不是返回一个错误或者失去响应。但这个响应是不需要保证是最新写入的数据,也就是说在可用时间段内集群各节点上的数据不保证是一致的。
这三个指标是不可能同时做到。一般来说,分区容错无法避免,因此可以认为 CAP 的 P 总是成立剩下的 C 和 A 无法同时做到。
保证一致性,则在写操作时各节点要锁定读操作,当各个节点数据同步完成后,才能放开读操作,那么此时系统会有短暂的不可用。
保证可用性,则在写操作时不需要锁定读操作,那么各个节点上数据会出现短暂不一致性。
所以分布式系统要视情况来选择使用CP模型或AP模型。
评论 (1 条评论)