http://www.ruanyifeng.com/blog/2021/06/weekly-issue-161.html
CAP 定理解读(英文)
这篇文章从学术角度,详细解读分布式系统的 CAP 定理,写得很好。CAP 定理的核心含义就是,发生故障时,开发者必须选择,优先满足一致性还是可用性。
You Can’t Sacrifice Partition Tolerance
In which there are limits to the CAP conjecture.07 Oct 2010
I’ve seen a number of distributed databases recently describe themselves as being “CA” –that is, providing both consistency and availability while not providing partition-tolerance. To me, this indicates that the developers of these systems do not understand the CAP theorem and its implications.
A Quick Refresher
In 2000, Dr. Eric Brewer gave a keynote at the Proceedings of the Annual ACM Symposium on Principles of Distributed Computing1 in which he laid out his famous CAP Theorem: a shared-data system can have at most two of the three following properties: Consistency, Availability, and tolerance to network Partitions. In 2002, Gilbert and Lynch2 converted “Brewer’s conjecture” into a more formal definition with an informal proof. As far as I can tell, it’s been misunderstood ever since.
So let’s be clear on the terms we’re using.
后面还有很多其他的内容
References (i.e., Things You Should Read)
-
Brewer. Towards robust distributed systems. Proceedings of the Annual ACM Symposium on Principles of Distributed Computing (2000) vol. 19 pp. 7—10 ↩
-
Gilbert and Lynch. Brewer’s conjecture and the feasibility of consistent, available, partition-tolerant web services. ACM SIGACT News (2002) vol. 33 (2) pp. 59 ↩ ↩2 ↩3 ↩4
-
DeCandia et al. Dynamo: Amazon’s highly available key-value store. SOSP ‘07: Proceedings of twenty-first ACM SIGOPS symposium on Operating systems principles (2007) ↩
-
Fox and Brewer. Harvest, yield, and scalable tolerant systems. Hot Topics in Operating Systems, 1999. Proceedings of the Seventh Workshop on (1999) pp. 174—178 ↩
-
Brewer. Lessons from giant-scale services. Internet Computing, IEEE (2001) vol. 5 (4) pp. 46-55 ↩ ↩2