Couchdb群集写入行为

Couchdb群集写入行为,couchdb,couchdb-2.0,Couchdb,Couchdb 2.0,我有一个集群设置中的couchdb。3个节点,所有节点上的所有碎片,W=2。我们有代码在couchdb中创建一个文档,并从视图中读取它。但是,视图间歇性地不返回相应的数据。我们直接检查couchdb后,数据就在那里了。所以,我的问题是,为什么第三个节点要花这么长时间来写一个值,以及我应该期望写延迟多长时间 提前感谢。如果查询视图时未使用stale参数,则视图应始终返回新数据。视图首先将自身更新到数据库,然后返回查询结果 视图可以从任何节点获得结果。如果查询视图,但未获得预期的新数据,则表示所用节

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


提前感谢。

如果查询视图时未使用
stale
参数,则视图应始终返回新数据。视图首先将自身更新到数据库,然后返回查询结果

视图可以从任何节点获得结果。如果查询视图,但未获得预期的新数据,则表示所用节点上尚未提供更新

如果用户使用W=2编写文档,则三个节点中至少有两个节点应成功更新此文档。如果所有节点都已启动,节点之间的内部同步(毫秒或秒内)应该会为所有节点带来更新。所以延迟应该只有几秒钟


你经历了多长时间的潜伏期?您的视图最终能够在延迟后产生预期的结果吗?

谢谢您的回答。我们真的不知道如何测试节点间通信的延迟。我们刚刚建立了这个新的环境,所以它没有运行任何东西。视图最终给出正确的值。如果延迟是秒,那么我认为这太慢了。