2017-02-17 23 views
1

如果可以有多个写查询并行发生,是否有可能两个更改订阅源可以看到相同的一组更改,但顺序不同,或者查看更改但不按照“按时间顺序排列”顺序。例如B之前进行A投入,但改变进料订户接收的变化B首先,再后来A.变更可能无序地返回给变更提要?

回答

1

是,这些变化可以是乱序:

  1. 在许多情况下不同碎片在不同的 服务器上有其主要部分。因此,包含来自该分片的更改的消息可能在不同时间到达托管更换进纸的机器,其可能是 以不同顺序执行。此外,还有一些内部的 详细信息,说明每个服务器内的消息处理方式,即使来自同一分片的消息也可能以不同的顺序运行 。然而, 我们有在该系统的逻辑,以保证对于给定的ID我们将 总是看到在正确的顺序的变化,所以你永远不会看到数据 及时倒退。

  2. 在试图减少 网络流量上极不稳定的数据,我们有 挤压,其中,服务器处理changefeed在发送 之前将多个 更改为自文件合并为一个条目概念的量沿。该压扁的确切输出对于精确的 时间(以及在客户端中的缓存行为[2])非常敏感,因此存在 相对较好的机会,您会在条目中看到不同的时间点 非常活跃的价值。

https://github.com/rethinkdb/rethinkdb/issues/5969#issuecomment-233420705