簡體   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