0

我查阅了很多关于最终一致性的资源,他们都谈到了为什么它很重要,以及关于 Paxos 和拜占庭一般问题之类的东西。我更感兴趣的是了解在长途网络上实际实施或确保最终一致性- 需要做什么,挑战是什么,规避和预防和防范任何可能阻碍最终一致性的可能方法。从您的个人经历到您可能知道的链接的任何内容都会非常有用。谢谢!

4

1 回答 1

1

最大的挑战:记住你想要达到的目标。以我的经验,ec 系统面临三个挑战:

  1. 每个密钥在任何时间点的未知复制级别。为了解决这个问题,采用了各种技术:读取修复、默克尔树。在长途网络的情况下,这一点可能具有挑战性。

  2. 如果有强烈的仲裁要求,您将写入远程数据中心,因此您的写入性能将受到远程数据中心的链接吞吐量的限制。并且在长时间延迟的情况下,它很可能会“丢失写入”:当客户端认为时,该写入未执行,但实际上它已执行。因此很容易出现这种情况,当您无法写入仲裁时,但其他客户端会看到您认为“未写入”的数据

  3. 如果您将使用 quorum=1 读取数据,则数据稳定性(以获得更好的读取性能)。但是这里有一些聪明的解决方案,比如Probabilistically Bounded Staleness for Practical Partial Quorums

于 2012-10-30T07:52:08.413 回答