【问题标题】:Couchdb cluster writes behaviourCouchdb 集群写入行为
【发布时间】:2017-08-06 22:09:49
【问题描述】:

我在集群设置中有一个 couchdb。 3 个节点,所有节点上的所有分片,W = 2。我们有代码在 couchdb 中创建一个文档并从视图中读取它。但是,视图间歇性地没有返回相应的数据。我们直接检查couchdb后数据就在那里。所以,我的问题是,为什么第三个节点需要这么长时间来写入一个值,我应该期望写入延迟多长时间?

提前致谢。

【问题讨论】:

    标签: couchdb couchdb-2.0


    【解决方案1】:

    如果您查询视图而不使用stale 参数,则视图应该始终返回新数据。视图将首先将自身更新到数据库中,然后为您的查询返回结果。

    视图可以从任何节点获取结果。如果您查询视图,但没有获得预期的新数据,则意味着更新在所使用的节点上尚不可用。

    如果写一个 W = 2 的文档,那么三个节点中至少有两个节点应该成功更新这个文档。如果所有节点都启动,节点之间的内部同步,在几毫秒或几秒内应该会为所有节点带来更新。所以延迟应该只有几秒钟。

    您经历了多长时间的延迟?在这种延迟之后,您的视图是否最终能够产生预期的结果?

    【讨论】:

    • 感谢您的回答。我们真的不知道如何测试节点通信之间的延迟。我们只是设置了这个新环境,所以没有真正在上面运行。视图最终会给出正确的值。
    • 如果延迟是秒,那么我认为这太慢了。
    猜你喜欢
    • 2019-07-12
    • 1970-01-01
    • 1970-01-01
    • 2017-11-01
    • 2019-02-05
    • 2016-04-16
    • 2018-04-23
    • 2017-05-18
    • 2011-08-27
    相关资源
    最近更新 更多