学习简记:分布式系统的CAP理论
1. 概要
分布式系统的设计需要考虑CAP理论:一个分布式系统,无法同时满足CAP三个指标。
CAP是三个指标:
- Consistency,一致性。
- Availability,可用性。
- Partition tolerance,分区容忍性。
2. 概念解读
维基百科中,CAP的定义如下:
- Consistency: Every read receives the most recent write or an error
- Availability: Every request receives a (non-error) response, without the guarantee that it contains the most recent write
- Partition tolerance: The system continues to operate despite an arbitrary number of messages being dropped (or delayed) by the network between nodes
从字面意思来说,
- 一致性,指每个读请求都能获得最新的数据,否则返回失败。这表明,返回的数据要么是最新数据,要么失败。
- 可用性,指每个读请求都能获得一个回应,而且不会响应错误。这表明,即使不是最新数据,也会返回。
- 分区容忍性,指即使分区节点通讯时出现消息出现延迟或丢失,系统仍会继续提供服务。这表明,即使系统部分分区出现网络等网络,用户仍可继续使用。
3. CAP三者的权衡
对于一个分布式系统,必须满足分区容忍性P。而当出现分区错误时,必须在一致性C和可用性A之间做出抉择。
-
当选择一致性C,由于分区数据不是最新,那么会返回错误或者一直等待至数据更新才返回。 (这个结果不满足可用性A)
-
当选择可用性A,即使分区数据不是最新,也会返回当前分区的数据。(这个结果不满足一致性C)
author's blog == http://www.cnblogs.com/toulanboy/
参考
❤ 如果这篇文章对你有帮助,麻烦来个大拇指👍,谢谢。