distributed - 如果我们对一个 C+A 分布式系统进行分区会怎样?

标签 distributed partition consistency availability

我已阅读 this , thisthis但还是无法理解CAP定理的C+A范畴。

我的意思是这些系统的设计不支持可能发生的分区。最终,如果周围有副本,他们可以处理一些孤立节点的丢失。

是的,但我可以看到其中一些确实存在。那么,在现实世界中,如果我们对节点进行分区,它们会如何表现?两个分区中的事件节点都必须在 A 和 C 之间进行选择...或者它们会同时失去两者吗?

最佳答案

你不可能拥有一个 C+A 分布式系统,这就是 CAP 定理的全部要点。正如所解释的here例如,我引用:

CAP prohibits only a tiny part of the design space: perfect availability and consistency in the presence of partitions, which are rare.

Although designers still need to choose between consistency and availability when partitions are present, there is an incredible range of flexibility for handling partitions and recovering from them.

如果您想将 CAP 定理简化为一个短句(例如“you get to pick 2 out of 3”),更好的近似是:

在存在分区的情况下,您可以选择一致性或可用性。

关于distributed - 如果我们对一个 C+A 分布式系统进行分区会怎样?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39664619/

相关文章:

hadoop - 从 Hadoop 提供静态文件

SQL逐月检查ID状态变化

sql - 更新分区表

apache-spark - 为什么硬编码重新分区值

Cassandra读取一致性一,受其他节点影响?

mongodb - 在 Master - Master Configuration - 的情况下,最终一致性是否可能 -

database - 如何使用数据库服务器进行分布式作业调度?

c# - 处理在线和离线

mercurial - 如何检查 Mercurial 存储库的一致性(校验和)?

algorithm - 是否有任何通用算法可以在分布式系统中实现最终一致性?