繁体   English   中英

在Google Cloud Platform上部署mongodb?

[英]deploying mongodb on google cloud platform?

大家好,对于我的创业公司来说,我正在使用Google Cloud Platform,现在我正在将App Engine与node.js一起使用,这部分工作正常,但是现在对于数据库,因为我是mongoDB,我在mongoDB https://console.cloud上看到了这一点。 google.com/launcher/details/click-to-deploy-images/mongodb?q=mongo现在,当我在服务器上启动它时,它在我的计算引擎中创建了三个实例,但是现在我不知道哪个是主实例,这是第二个,也是另外一件事,因为我读到应该使用主实例写入数据,而使用第二个实例进行读取,现在当我查询数据库时,我应该提供第二个实例url并在我的mongodb数据库中更新/插入数据提供主实例url,否则我应该在mongodb数据库上对CRUD操作使用哪个url? 还在发布此消息后,我是否必须对任何conf文件或任何文件进行任何更改,否则他们已经为我做了更改? 我是否也必须对所有三个实例进行实例分组?

请如果任何人认为我没有对此进行任何研究或它不是有效的stackoverflow问题,那么我很抱歉google cloud平台非常新,这就是为什么没有太多文档的原因,这也是我第一次来在服务器上部署我的代码,这就是为什么我在这个领域完全不了解的原因不管怎么说,请帮助我。

但现在我不知道哪个是主要实例,哪个是次要实例,

通常, Cloud Launcher将使用后缀-1 (破折号1)来命名主数据库。 例如,默认情况下,它将创建mongodb-1-server-1实例作为主要实例。

尽管您也可以通过mongo shell在任何实例上运行rs.status()来发现哪个是主要的。 举个例子:

mongo --host <External instance IP> --port <Port Number>

您可以使用gcloud获取实例的外部IP列表。 例如:

gcloud compute instances list

默认情况下,您将无法立即连接,您需要为计算引擎创建防火墙规则以打开端口。 例如

gcloud compute firewall-rules create default-allow-mongo --allow tcp:<PORT NUMBER> --source-ranges 0.0.0.0/0 --target-tags mongodb --description "Allow mongodb access to all IPs"

插入一个明智的端口号,请避免使用默认值。 您可能还希望限制源IP范围。 即您的办公室IP。 另请参阅云平台:网络

我读到主要实例应用于写入数据,次要实例用于读取,

通常,复制是为了提供冗余和高可用性。 主实例用于读取和写入,而辅助实例用作副本以提供一定程度的容错能力。 即丢失主服务器。

也可以看看:

现在,当我查询数据库时,我应该提供辅助实例url,还是要在mongodb数据库中更新/插入数据,我应该提供主实例url,否则我应该在mongodb数据库上使用哪个URL进行CRUD操作

您可以同时在MongoDB URI中提供,驱动程序将确定在哪里进行读取/写入。 例如,在您的Node.js中,您可以拥有:

mongodb://<instance 1>:<port 1>,<instance 2>:<port 2>/<database name>?replicaSet=<replica set name>

Cloud Launcher设置的默认副本集名称为rs0 另请参阅:

还在发布此消息后,我是否必须对任何conf文件或任何文件进行任何更改,否则他们已经为我做了更改? 我是否也必须对所有三个实例进行实例分组?

这取决于您的应用程序用例,但是如果您通过单击启动并部署MongoDB配置,则应该全部处理。

有关完整的指南,请遵循以下教程: 使用Node.js部署MongoDB 我还建议您查看MongoDB安全清单

希望能有所帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM