2016-09-16 27 views
1

我们有两个云数据库,在两个不同的集群上说A和B.我们已经在这些数据库之间设置了双向复制,所以A-> B和B-> A。Cloudant/couch db双向复制 - 防止递归?

1)如果文档X在A上更新,它会被复制到B.但是B上的这个变化不会再被复制回A.所以它不会进入无限递归循环。这是否使用版本号来实现?我相信它可能是couchdb的内部。 2)我们需要通过查看A和B中的文档,确定哪个数据库实际上通过API调用接收了更新,哪一个通过复制接收了更新。有没有办法解决这个问题?

回答

1
  1. CouchDB replication protocol是明确界定,并确保该复制以可靠的方式来完成。

  2. CouchDB没有主人的概念。一旦同步,所有CouchDB实例都是相同的,因此无法确定哪个节点接收到原始请求。如果您需要这样做,您可能应该重新评估复制是否是您真正想要的。