首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >关于动物园管理员一致性保证的困惑(顺序一致性与最终一致性)

关于动物园管理员一致性保证的困惑(顺序一致性与最终一致性)
EN

Stack Overflow用户
提问于 2022-09-24 20:29:13
回答 1查看 42关注 0票数 1

据我所知,强制执行“顺序一致性”,即任何执行都是相同的,就好像所有的读/写操作都是以某种全局顺序执行的一样。基本上,客户端可能会看到陈旧的数据,但可以保证按照写入的顺序来查看被线性化的值。

我有两个困惑

1.当节点下降时,顺序一致性的排序保证是如何保持的?例如,在下面的场景中发生了什么?

  1. x=1
  2. now x=2
  3. Node A具有最新的值x=2,节点B仍在旧值x=1
  4. A上,客户端从Node A

H 111 Node A读取x=2。H 212H 113A客户端现在连接到节点B<代码>H 214/代码><代码>H 115A客户端现在从节点B读取x=1>H 216<代码>G 217

这难道不破坏顺序一致性所提供的订购保证吗?

2.我说得对吗?所有最终的一致性模型都提供了订购保证,只要客户端总是从同一个节点读取?

由于客户端可以从任何节点读取数据,并且在读取值时不绑定到特定节点,因此缺乏最终一致性的保证吗?

(实现顺序一致性的系统不是也会遇到同样的问题吗?在这样的情况下,节点会崩溃,客户端将被迫使用陈旧的数据从客户端读取数据?有点回到我的问题#1)

如有任何澄清,将不胜感激。谢谢。

EN

回答 1

Stack Overflow用户

发布于 2022-10-14 19:02:21

你看到的是连续一致性。就是这样,对节点的下行/向上或连接到同一个节点没有任何限制。问题是,我们如何确保客户在不得出错误结论的情况下处理问题。以下是如何:

  1. 每个事件都有一个版本号(e,1) (e‘,2)(e’‘,3)
  2. 客户端在处理每个节点后记下版本号(高水标记)。如果系统(动物园管理员)返回时间,则
  3. ,传递一个比客户的高水标记更早的事件。客户端等待,忽略这些事件.

只有具有顺序一致性,客户端才能忽略重发并避免处理重复事件。因此,客户端避免在时间上来回往返。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73840374

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档