“可用性”如何在CAP定理中起作用。 AP里面外出

问题描述 投票:0回答:1

我读过很多关于CAP定理的文章。我理解A,C,P的含义,以及当我们遇到网络通信问题时我们能做些什么。

总之,我们有这样的情况:

如果两个节点在群集中存在通信问题:

  1. 此时,当问题发生时,我们可以允许节点不同步(放弃一致性),或者
  2. 此时,出现问题时,请暂停节点一段时间(放弃可用性 - 禁用从检测到通信问题的节点读/写)。

使用这个我们有这样的情况:

1)CA - 如果发生通信问题,数据不同步,因为我们有“可用性”,我们不会禁用有问题的节点。但同步将开始通信将得到解决。

2)CP - 如果发生通信问题,将禁用节点(写入/读取不能对此节点执行)

3)AP - 如果发生通信问题,数据也不同步。但由于我们没有C,我们无法保证同步后数据会相同。

AP对我来说不清楚,为什么我们不保证同步后数据会相同?我知道因为CAP定理告诉我们这个并且因为我们没有C但是......这还不够,这并不能告诉我们内部发生了什么,技术上......

consistency cap-theorem nosql
1个回答
0
投票

AP基本上意味着系统将继续进行更新。假设更新被发送到服务器S1,服务器S1从服务器S2分区。 S1将能够提供新值,但S2仍将显示过时值。虽然CAP定理一旦分区消失就不谈融合,但有很多方法可以在网络分区后构建系统。我们可以使用CRDT(无冲突复制数据类型),也可以使用补偿交易。 Eric Brewer在以下论文中写过这篇文章 - CAP 12 Years

© www.soinside.com 2019 - 2024. All rights reserved.