BigCouch將不提供跨數據中心的東西開箱。Cloudant DBaaS(基於BigCouch)確實已經在多個數據中心中實現了這種設置
BigCouch是Apache CouchDB的分解式「Dynamo式」分支 - 它將在未來合併到「mainline」Apache CouchDB fwiw中。分片存在於同一個數據中心的節點(服務器)上。「經典」CouchDB風格的複製用於保證BigCouches處於各種數據中心的異步操作中。
CouchDB樣式的複製(n-master)是基於更改的,因此複製只包含最新的更改。
您需要爲每個節點/數據庫組合設置複製/複製對。但是,如果您的所有服務器都是相同的,則複製實際上不會經常發生 - 只會在需要時纔會發生。
如果A
得到更改,複製將其發送到B
和C
(etc)。但是,如果B
- 剛剛獲得該更改 - 將其複製到C
,然後A
也有機會 - 由於網絡延遲等 - 當A
最終嘗試時,它會意識到數據已經存在,而不是麻煩再次發送更改。
如果這是您的設置的標準部分(即,每次你做一個數據庫,你希望它複製到其他地方),那麼我強烈建議自動化設置。
另外,簽出_replicator數據庫。管理正在發生的事情要容易得多: https://gist.github.com/fdmanana/832610
希望在這裏有所幫助。 :)
也許[BigCouch](https://github.com/cloudant/bigcouch)是你應該用什麼來代替?它基本上需要大量的節點簇,並允許它們作爲CouchDB的單個實例出現在最終用戶/應用程序中。 –
我同意Dominic。看看Cloudant併爲自己省去麻煩。你可能在分割的是BigCouch(和Cloudant)爲你做的分割。 – AndyD