ChangeStreams的顺序性—如何满足因果一致性该如何理解-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

ChangeStreams的顺序性—如何满足因果一致性该如何理解

2021-09-28 16:19:40 2748 1

ChangeStreams的顺序性—如何满足因果一致性该如何理解

取消 提交回答
全部回答(1)
  • 开发者小助手
    2021-09-29 15:01:00

    假如用户写请求,将 insert a=1,写在 Shard2 上 , 此时这条语句通过 ChangeStreams 吐出来了。

    后来用户又 Update 了该条文档,把它从 a=1 改成 a=2,这条操作落在了 Shard2 上,此时 ChangeStreams 会把第 2 条文档输出,也就是说这两条文档 是具有前后因果性的,不会先吐出第 2 条文档再吐出 第 1 条文档,顺序保持严格的因果性。 image.png 另一个例子,例如用户 Insert 了 1 条数据是 a=1,然后 它落在 Shard2 上,然后又 Insert 了 1 条数据 a=2,但 它落在 Shard3 上。

    后来这 2 条数据它是同时落在 2 个不同的 Shard 上 的,那么 ChangeStreams 它吐出的顺序可能是先 a=2,再 a=1,也就是说,如果 2 条数据在不满足因 果序的条件下,吐出的changeStrearn event 不能 够保证先后顺序。

    image.png

    资源来源:电子书《玩转MongoDB从入门到实战》,下载链接:https://developer.aliyun.com/topic/download?id=1060

    0 0
1
文章
231
问答
问答排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载