考虑一个具有 3 个节点的分布式系统 - n1、n2、n3。节点之间有一个共享数据 x。Paxos 在节点上运行。一开始,x 等于 4。
客户端向 n1 发送更新请求,将 x 的值更改为 5。n1 和 n2 通过运行 Paxos 就新值达成共识,但 n3 发生了一些链接故障,因此 n3 没有最新的 x 值。
我们知道 Paxos 提供了强一致性。另一方面,如果客户端向 n1 发送了一个读请求,同时又向 n3 发送了另一个读请求,则返回的值是不一样的(其中一个是 5,另一个是 4)。因此,运行Paxos后,系统并没有强一致性。
我的问题是:我们如何解决这个矛盾?我是不是误会了什么?