2014-09-27 65 views
-1

在公共服務器(例如Amazon AWS)中使用動態IP(由ISP設置)與mongodb實例同步本地服務器中的mongodb實例的最佳解決方案是什麼?我可以做node.js嗎?同步MongoDB實例

回答

0

您可以通過多種方式實現此目的,但首先要解決公共/動態IP問題,您希望使用主機名 - >您維護的IP地址映射(/etc/hosts或您自己的DNS服務器)或看看dynamic DNS解決方案之一。

一旦你解決了IP地址問題的變化,問題是如何保持系統同步。最明顯的方法是將這兩個節點設置爲replica set - 如果連接足夠可靠,這可能會起作用,不過您可能希望在本地或遠程放置一個仲裁器,以便在您想要連接的任何一側進行寫入時連接是flakey(在2個節點集合中,如果任一節點關閉,則它們都是次要的並且不能寫入)。

另一種選擇是使用mongo connector,它允許您同步到任意目標,包括另一個MongoDB實例。

該項目將給你一個相當不錯的想法,你需要做什麼(在Python中)來提供這樣一個同步服務。您需要在node.js中編寫類似的內容以實現適當的同步,並且實質上您需要在一臺主機上使用tail the oplog,並根據您的要求定期將其應用於另一臺主機。

+0

感謝回覆@Adam,我設法使用DynDNS解決方案,然後在我的數據庫中使用副本集 – DennyHiu 2014-09-30 15:13:24