Couchbase交叉數據中心複製(XDCR)將源桶中的所有數據複製到目標桶(連續)。
如果您在舊金山數據中心的紐約數據中心和存儲區B中存在存儲區A,並且您將存儲區A中的XDCR配置爲存儲區B,則存儲區A中的所有數據都將複製到存儲區B.您無法配置任何附加過濾器。但是,這種複製只是一個方向。因此,如果您也直接將數據寫入存儲桶B,則不會在兩個數據中心都有數據。如果您希望在兩個數據中心都擁有所有數據,則還需要將存儲區B中的XDCR配置到存儲區A.這在手冊中稱爲雙向複製。在這2個羣集配置中,它會爲您提供所有數據中心的所有數據。
Couchbase客戶端SDK配置爲與單個羣集交談。這意味着客戶端必須知道要連接到哪個羣集,如果您的舊金山羣集在紐約羣集中存儲了不同的數據,則您的應用程序必須知道在哪裏查找數據。
對於高可用性用例,通常在區域之間建立雙向複製,並且應用程序被設計爲偏好集羣。部署在紐約附近的應用程序可能更喜歡紐約羣集。只要沒有問題,它就會讀取並寫入該羣集。如果出現問題,請說紐約數據中心關閉,應用程序可以通過切換到舊金山數據中心繼續運行。但是,所有這些邏輯都將在您的應用程序中。
Robin提到的「智能集羣映射」用於查找單個集羣內的數據。理解這一點很重要,不會找到存儲在不同地區的數據。
非常感謝!這是我正在尋找的詳盡答案!我是在要求它準備一篇論文的相關工作。不幸的是很難找到這個Couchbase行爲的參考。你能否提出任何涉及它的文件? – cesare 2013-03-27 12:02:21
您可能已經查閱了[手冊](http://www.couchbase.com/docs/couchbase-manual-2.0/couchbase-admin-tasks-xdcr.html)。此外,您可以觀看[網絡研討會](http://info.couchbase.com/2013-webinar-couchbase-and-cross-datacenter-replication.html)。 – mschoch 2013-03-27 15:54:32