使用Java连接到Azure中的MongoDB

时间:2012-05-14 12:54:16

标签: java mongodb azure

首先:我是天蓝色的新人。好的,我想要一个天蓝色的MongoDb副本集。我用它来这些网站: http://www.mongodb.org/display/DOCS/Azure+Deploymenthttps://github.com/mongodb/mongo-azure 这很好。但是如何从我的java应用程序访问这个mongo replicaset? Java应用程序不在云中运行。 谢谢你的帮助。

2 个答案:

答案 0 :(得分:2)

你可以做的一些事情:

  • 在复制集节点上运行mongos(分片路由器),并创建表示整个数据库的单个分片。 Mongos将具有每个replicaset节点的ip / port的内部可见性。然后,您的外部Java应用程序将直接连接到mongos。注意:使用mongos不是10gen提供的脚手架项目的一部分。您需要自己添加。
  • 设置Azure Connect,以便在Java应用程序和MongoDB复制集部署之间架起桥梁。有一个--ipv6标志,您需要添加到mongod的命令行(因为Azure Connect仅支持通过隧道的ipv6流量)。我不记得是否在10gen提供的脚手架中设置了这个标志,并且默认情况下禁用了ipv6。

答案 1 :(得分:1)

默认情况下,MongoDB将在端口27017上运行(请参阅TCP Port Numbers)。只需创建一个Input Endpoint,即可让您的内部部署Java应用程序连接到MongoDB,并确保选择 tcp 作为协议。

这是来自David's blog的此类端点的屏幕截图:

MongoDB

请记住,这将为互联网上的每个人打开端口,这可能存在安全风险。

或者,您可以考虑使用Windows Azure Connect在内部部署系统和角色之间创建安全的IPSEC连接。