Mongo 是否在异步模式下提供一致性?

Does Mongo provides consistency in asynch mode?

因为 Mongo 承诺一致性,这意味着 Every read receives the most recent write or an error

这是否意味着当mongo表示提交完成时,数据已经以同步方式写入所有从站,因为只有那时 它可以保证一致性?

Mongo也提供了异步复制,也就是说master和slave会有复制滞后b/w。因此一致性 不能承诺。那么 Mongo 怎么说它提供了一致性?

更新:-

我从 Where does mongodb stand in the CAP theorem? 了解到 Mongo 提供了一致性 当系统是单主系统并且默认情况下所有读取都转到主系统时。

但是当有选择地启用从辅助数据库读取时,MongoDB 在可能读取过时结果的地方变得最终一致。 所以有可能Mongo系统之间不一致,没有提供最新的写入数据

But When optionally enable to read from the secondaries then MongoDB becomes eventually consistent where it's possible to read out-of-date results.

默认情况下,是的。您可以使用 write concerns 调整此行为。例如,如果您的副本集有三个节点并且您使用 w=3 进行写入,您的写入是一致的,您可以立即读取它们。没有过时的读取。

但是,客户端将在整个写入期间被阻塞(它将等待更改传播)。所以你必须决定你更喜欢什么:一致的写入或快速的客户端。好消息是:您可以根据每个请求做出决定。不需要数据库 reconfiguration/restart(就像在其他一些数据库中一样)