【问题标题】:How to configure MongoDB and nodejs to use two different servers如何配置 MongoDB 和 nodejs 以使用两个不同的服务器
【发布时间】:2017-06-04 18:59:49
【问题描述】:

我想为网站做以下结构。

这个想法是将 Web 应用程序放在一台服务器上,而将 MongoDB 放在另一台服务器上。它们是不同的机器。

在nodejs代码中,db的唯一配置是以下代码:

var connectString = 'mongodb://localhost/myDataBase';

将'localhost'替换为'111.222.111.2',即运行MongoDB的机器的IP地址,那么它应该可以工作。这个对吗?

与放在一台物理机器上相比,这会使数据检索变慢吗?

两台机器如何相互通信以获取数据?通过什么协议?

【问题讨论】:

    标签: node.js mongodb


    【解决方案1】:

    您可以在一台服务器上安装 NodeJS,在另一台服务器上安装 MongoDB 数据库。您可以使用 mlab.com Mongo 数据库 http://docs.mlab.com/(免费 500MB)对其进行测试。
    连接该数据库的最简单方法是使用 mongoose:

    const mongoose = require('mongoose');
    mongoose.connect("mongodb://<login>:<password>@ds140361.mlab.com:45242/mydb");
    

    数据库受登录名和密码保护。但是nodeJS的API应该独立保护。
    IMO,如果一台服务器不在地球的一侧,而另一台不在另一侧,则您不应该看到连接速度的差异。
    关于协议:
    https://docs.mongodb.com/manual/reference/mongodb-wire-protocol/

    【讨论】:

      【解决方案2】:

      是的,只要远程服务器允许 Mongo 的默认端口 (27017) 上的连接并且中间没有防火墙阻止它,将 localhost 替换为 MongoDB 服务器的 IP 地址或域名即可。

      它会比本地主机连接慢,慢多少完全取决于将两者分开的网络基础设施。

      协议是一个 TCP/IP 套接字。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-05-10
        • 2015-11-18
        • 1970-01-01
        • 2018-07-12
        • 2016-04-17
        • 2016-05-27
        • 2012-09-12
        • 2021-10-17
        相关资源
        最近更新 更多