一个关于弱一致性和最终一致性区别的问题

2012-10-10 16:17:25 +08:00
 udonmai
我发现很多地方叙述弱一致性和最终一致性都很含糊,或者可能是翻译得很差的缘故。

他们说,最终一致性是若一致性的一个特例,指在某进程A写入后若再无新的写操作或失败,那么其他进程的读操作最终都会被返回最新值;而弱一致性指不保证返回弱一致性,有个不一致性窗口。

问题来了,既然不保证,又有不一致性窗口,那么不一致性窗口过了之后,数据是可以被读到呢?还是说不一致性窗口不代表最终的结果是什么而只是一个过程。按我的理解就是,弱一致性不保证大家可以读到最新的数据值,过了不一致性窗口也可能读不到,因为不保证。而最终一致性则保证在过完窗口后大家都可以读到。

是这个意思么?
5534 次点击
所在节点    问与答
2 条回复
virushuo
2012-10-10 16:35:58 +08:00
你这问题写的跟绕口令一样…不过意思应该是对的。弱一致性不保证读取时候数据一致,最终一致性是在超过时间窗口之后一定保证一致,所以说最终一致性是弱一致性的一种特殊情况。
udonmai
2012-10-10 16:43:20 +08:00
@virushuo 嗯。。我的表达能力啊。。。 很多地方写的很含糊可能和我的阅读能力有关。。。不过好在还是理解了。。多谢~

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/49639

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX