Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Java连接Azure中的MongoDB_Java_Mongodb_Azure - Fatal编程技术网

使用Java连接Azure中的MongoDB

使用Java连接Azure中的MongoDB,java,mongodb,azure,Java,Mongodb,Azure,第一:我是azure的新手。好的,我想要一个azure中的MongoDb副本集。我使用了以下网站: 和 那很好。但是如何从java应用程序访问这个mongo复制集呢?java应用程序不在云中运行。 谢谢您的帮助。默认情况下,MongoDB将在端口27017上运行(请参阅)。只需创建一个本地java应用程序即可连接到MongoDB,并确保您选择了tcp作为协议 这是这样一个端点的屏幕截图,来自: 请记住,这将为internet上的每个人打开端口,这可能会带来安全风险 可选地,您可以考虑在您的联机

第一:我是azure的新手。好的,我想要一个azure中的MongoDb副本集。我使用了以下网站: 和 那很好。但是如何从java应用程序访问这个mongo复制集呢?java应用程序不在云中运行。
谢谢您的帮助。

默认情况下,MongoDB将在端口27017上运行(请参阅)。只需创建一个本地java应用程序即可连接到MongoDB,并确保您选择了tcp作为协议

这是这样一个端点的屏幕截图,来自:

请记住,这将为internet上的每个人打开端口,这可能会带来安全风险


可选地,您可以考虑在您的联机系统和您的角色之间创建安全的IPSec连接。

您可以做的一些事情:

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

此解决方案不适用于replicaset,因为客户端应用程序需要枚举所有replicaset节点以创建集合配置,并且您无法通过Windows Azure负载平衡器枚举实例。这适用于MongoDB的独立版本,但您可能还希望从源代码重新构建MongoDB,以包含SSL(因为分发二进制文件中不包含SSL)。而且。。。那么你还需要启用安全性。话虽如此:谢谢你的博文呼喊。:)+1对于Windows Azure连接建议-我在第一次阅读时没有看到它。谢谢您的帮助。这是正确的,它不适用于副本集。如果我启动MongoDb而不使用副本集,它将正常工作。现在,我将测试Makogon先生的想法。