2016-03-24 7 views
2

Привет всем на самом деле для моего запуска Я использую платформу Google Cloud, теперь я использую движок приложения с node.js, эта часть работает нормально, но теперь для базы данных, так как я mongoDB, я видел это для mongoDB https://console.cloud.google.com/launcher/details/click-to-deploy-images/mongodb?q=mongo сейчас, когда я запустил его на моем сервере теперь он создал три экземпляра в моем вычислительном движке, но теперь я не знаю, что является основным экземпляром и является вторичным, также еще одна вещь, поскольку я читаю, что первичный экземпляр должен использоваться для записи данных и вторичных для чтения, теперь когда я буду запрашивать мою базу данных, должен ли я предоставлять вторичный URL-адрес экземпляра и для обновления/вставки данных в мою базу данных mongodb, должен ли я предоставлять первичный URL-адрес экземпляра, иначе я бы использовал URL-адрес для операций CRUD в моей базе данных mongodb? также после запуска этого я должен внести любые изменения в любой файл conf или в любой файл вручную или они уже сделали это для меня ?? Также мне нужно создавать группы экземпляров из всех трех экземпляров или нет?развертывание mongodb на платформе Google Cloud?

Пожалуйста, если кто-либо из вас считает, что я не проводил никаких исследований по этому или его недействительному вопросу о стеке, то мне очень жаль, облачная платформа Google очень много нового, поэтому на нем мало документации. мой первый раз здесь, в развертывании моего кода на серверах, поэтому я абсолютно noob в этой области Спасибо В любом случае, пожалуйста, помогите мне здесь, ребята.

ответ

4

, но теперь я не знаю, что является основным экземпляром и который является вторичным,

Вообще Cloud Launcher будет назвать первичный суффикс с -1 (тире один). Например, по умолчанию в качестве основного будет создан экземпляр mongodb-1-server-1.

Хотя вы также можете узнать, какой из них является основным, запустив rs.status() в любом из экземпляров через the mongo shell. В качестве примера:

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

Вы можете получить список внешних IP-адресов в случаях с использованием gcloud. Например:

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-адрес вашего офиса. Смотрите также Cloud Platform: Networking

я прочитал, что первичный экземпляр должен быть использован для записи данных и вторичные для чтения,

Вообще репликации, чтобы обеспечить избыточность и высокую доступность. Где первичный экземпляр используется для чтения и записи, а второстепенные - в качестве реплик для обеспечения уровня отказоустойчивости. то есть потери основного сервера.

Смотрите также:

теперь, когда я опрашивает свою базу данных я должен предоставить вторичный экземпляр URL и для обновления/вставки данных в моей базе данных MongoDB я должен предоставить основной экземпляр URL иначе, который URL я должен использовать для CRUD операций на моей базе данных MongoDB

Вы можете указать как в MongoDB URI, так и водителю будет определять, где читать/писать. Например, в вашем Node.js вы могли бы:

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

реплика по умолчанию имя набор устанавливается Cloud Launcher является rs0. Также см .:

также после того, как launcing это делать я должен делать какие-либо изменения в любом файле конф или в какой-либо файл вручную, или они уже сделали это для меня ?? Также мне нужно создавать группы экземпляров из всех трех экземпляров или нет?

Это зависит от вашего случая использования приложения, но если вы запускаете через клик и развертываете конфигурацию MongoDB, все должно быть позабочено.

Для получения полного руководства, пожалуйста, следуйте руководству: Deploy MongoDB with Node.js. Я также рекомендую проверить MongoDB security checklist.

Надеюсь, что это поможет.