分布式系统如何保持一致和可用-CA。因为当分区发生时,CA是不可能的。如果我们说不会发生分区,那么只有它们是CA,那么如果分区不会发生,那么所有CP或AP系统也将是CA。
最佳答案
不可以
如常提到的那样,原始形式的CAP定理有点误导。可以重述为
所以你是对的。通常,系统不能仅分类为CA,CP或AP,因为分区容限是系统的属性,它描述了在进行网络分区时应选择的内容。因此,系统有时可能会根据AP行为,而有时可能会根据CP行为(但并不常见)。
另一个有趣的部分是,RDBMS数据库通常位于三角形的CA端。仅在单节点设置中是这种情况。即使使用主(写)-从(读)设置,系统也不是CA(或者由于某种原因被称为“CA”,并且无法从网络分区中恢复,那么可能会出现裂口情况,一个新的主服务器)选择该分区,然后出现困惑,可能会破坏系统的一致性。
有用的读物:https://codahale.com/you-cant-sacrifice-partition-tolerance/。
关于cap-theorem - 根据Cap定理的CA分布式系统如何存在,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47539213/