【问题标题】:What are the factors that affect eventual consistency over long-haul networks?影响长途网络最终一致性的因素有哪些?
【发布时间】:2012-10-19 05:32:26
【问题描述】:
我查阅了很多关于最终一致性的资源,它们都谈到了为什么它很重要以及 Paxos 和拜占庭一般问题以及类似的东西。我更感兴趣的是了解实际实施或确保长途网络的最终一致性 - 需要做什么,挑战是什么,规避、预防和保护任何可能的方法可能会阻止最终的一致性。从您的个人经历到您可能知道的链接的任何内容都会非常有用。谢谢!
【问题讨论】:
标签:
hadoop
nosql
amazon-dynamodb
eventual-consistency
【解决方案1】:
最大的挑战:牢记您想要实现的目标。
根据我的经验,ec 系统面临三个挑战:
每个密钥在任何时间点的未知复制级别。为了解决这个问题,采用了各种技术:读取修复、默克尔树。对于长途网络,这一点可能具有挑战性。
如果对法定人数要求很高,您将写入远程数据中心,因此您的写入性能将受到远程数据中心的链接吞吐量的限制。并且在长时间延迟的情况下,它很可能会“丢失写入”:当客户认为时,该写入没有执行,但实际上是。所以很容易出现这样的情况,当你没有写入quorum,但是其他客户端会看到你认为“未写入”的数据
如果您使用 quorum=1 进行读取,则数据的稳定性(以获得更好的读取性能)。但是这里有一些聪明的解决方案,比如Probabilistically Bounded Staleness for Practical
Partial Quorums 存在