2016-09-16 62 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實例都是相同的,因此無法確定哪個節點接收到原始請求。如果您需要這樣做,您可能應該重新評估複製是否是您真正想要的。