2012-05-14 74 views

回答

1

默認情況下,MongoDB將在端口27017上運行(請參閱TCP Port Numbers)。只需創建一個Input Endpoint即可讓您的內部部署Java應用程序連接到MongoDB,並確保您選擇tcp作爲協議。

這是這樣一個端點從David's blog截圖:

MongoDB

請記住,這將打開端口爲大家在互聯網上,這可能是一個安全隱患。

或者,您可以考慮使用Windows Azure Connect在您的內部部署系統和您的角色之間創建安全的IPSEC連接。

+0

此解決方案不適用於複製套件,因爲客戶端應用程序需要枚舉所有複製節點以創建設置配置,並且無法通過Windows Azure負載平衡器枚舉實例。這*可以用於獨立版本的MongoDB,但是你也可能希望從源碼重建MongoDB以包含SSL(因爲它不包含在發行版二進制文件中)。而且......那麼你也需要啓用安全性。 –

+0

話雖如此:感謝博客文章留言。 :) –

+0

對於Windows Azure Connect建議+1 - 我沒有看到第一次閱讀它。 –

2

有幾件事情你可以做:在你的replicaset節點

  • 運行mongos(碎片路由器),並創建一個表示整個數據庫中的一個碎片。 Mongos對每個複製節點的IP /端口都有內部可見性。然後,你的外部Java應用程序將直接連接到mongos。注意:mongos的使用不是10gen提供的腳手架項目的一部分。你需要自己添加這個。
  • 設置Azure Connect,以連接您的Java應用程序和MongoDB複製副本部署。有一個--ipv6標誌需要添加到mongod的命令行中(因爲Azure Connect僅支持通過隧道的ipv6流量)。我不記得這個標誌是否在10gen提供的腳手架中設置,並且ipv6默認是禁用的。