2008-09-15 61 views
4

我正在構建一個將部署在全球多個地區的多個數據中心的解決方案,每個數據中心都有一個在每個區域中主動更新的複製副本。我將在每個數據中心中組合多個數據庫和文件系統,其狀態必須保持一致(在數據中心內)。這些多個存儲庫將由SOA服務層面向前。應用級複製技術

我可以容忍複製中的一些延遲,並且需要允許區域脫機,然後再趕上。

鑑於多個後端數據庫,我不能輕易依靠每個獨立的複製解決方案來維護一致的狀態。因此我導致在應用層實現複製 - 通過以某種方式複製SOA請求。我需要確保不會發生複製循環,並且最後的寫入器條件正確排列。

根據您的經驗,解決此問題的最佳模式是什麼,並且是否存在需要調查的優質產品(免費或其他)?

回答

0

你沒有提供足夠的細節來確定你的需求,但我認爲你應該檢查SQL Server合併複製。它允許以完全衝突解決方案異步複製多個數據庫。您將需要指定一個全局主數據庫,所有其他數據庫將複製到該主數據庫,但所有數據庫實例都具有完整的功能(讀/寫),因此您可以在適合您的任何時間間隔內安排複製。如果任何地區脫機,他們可以趕上沒有問題 - 如果主人離線,每個人都將獨立工作,直到複製可以恢復。

我很想知道這個靈活的其他解決方案(除了Lotus Notes/Domino,當然這些日子不是很流行)。

2

蓮花/多米諾骨牌是你的答案。我一直在爲它工作了十年,它正是你所需要的。這可能不是新潮(我會挑戰),但它的強大,適應性和非常安全性,最新的R8版本是最好的。

0

我認爲你的答案必須基於pub/sub架構。我假設您的數據中心之間有可靠的消息傳遞,以便您可以依賴最終收到的已發佈更新。如果您對數據存儲庫的所有訪問都是通過服務進行的,則可以將事件通知添加到每個更新服務的編排中,以通知所有感興趣的數據中心。理想情況下,主數據庫是唯一發送這些更新的數據庫。如果主數據庫是唯一發送更新的數據庫,則可以排除將通知路由到首先生成它們的節點,從而避免更新循環。

1

您絕對應該考慮IBM Lotus Domino。 Lotus Notes數據庫可以按照預定義的時間表在站點之間進行復制。 Notes/Domino中的複製絕對是一個非常強大的功能,可以在站點之間完全複製數據。即使服務器在下次連接時不可用,它也會簡單地複製並恢復同步。

就SOA服務層而言,您可以使用Domino Designer編寫Web服務。由於Notes/Domino 7.5.x(我相信)Domino已經能夠提供和使用Web服務。

1

作爲其他建議,我還會推薦Lotus Notes/Domino。 8.5是非常強大的應用開發平臺