Статьи

Создание нового сервера Parse и приложения на базе MongoDB Atlas

Эта статья была первоначально опубликована на mongoDB . Спасибо за поддержку партнеров, которые делают возможным использование SitePoint.

Независимо от того, мигрируете ли вы с устаревшего Parse.com (api.parse.com) или создаете новое приложение, сообщество Parse Server живо и эффективно, и, поскольку Parse Server версии 2.1.11, есть поддержка MongoDB 3.2, которая делает MongoDB Atlas — идеальный сервер для приложений на базе Parse Server.

Существующие размещенные пользователи Parse / api.parse.com могут перенести свою внутреннюю часть с помощью инструмента Parse Database Migration непосредственно в MongoDB Atlas, используя строку подключения, подобную следующей (жирные элементы заменяются вашими данными):

mongodb://username:[email protected]:27017,node2.mongodb.net:27017,node3.mongodb.net:27017/applicationDbName?replicaSet=clusterName-shard-0&ssl=true&authSource=admin

Мы узнаем в этом блоге:

  • Как развернуть кластер MongoDB Atlas
  • Как развернуть Parse Server (в нашем случае мы покажем, как это сделать с помощью быстрого запуска AWS Elastic Beanstalk, но обновлены для использования самой новой версии Parse Server)
  • Как настроить Parse Server для подключения к MongoDB Atlas
  • Как подтвердить подключение

Как настроить новое приложение-образец Parse Server с серверной частью MongoDB Atlas

  1. Развернуть кластер MongoDB Atlas
  2. Рассмотрите варианты определения размера, но начните с малого для приложения в стиле hello world. Вы всегда можете масштабировать позже (MongoDB Atlas позволяет вам переходить на более крупные экземпляры без простоев в вашей базе данных).
  3. Зарегистрируйтесь в MongoDB Atlas на mongodb.com/atlas
  4. Создайте и разверните свой первый кластер (мы будем использовать небольшой набор реплик размера M10 для нашего примера и развернем его в восточном регионе США) Разбирать серверные кластеры
  5. MongoDB Atlas Cluster
  6. Мы создадим пользователя с хотя бы readWrite в базе данных applicationDbName (или подойдет пользователь с readWriteAnyDatabase @ admin, который создается автоматически) Parse Server Mongo DB Atlas
  7. В целях тестирования мы сначала откроем IP-адрес для всех IP-адресов (0.0.0.0/0): Позже нам следует оставить открытыми только открытые IP-адреса наших серверов приложений. Parse Server MongoDB Atlas
  8. Выберите, где и как вы хотите развернуть Parse Server:
  9. Здесь описаны многие параметры, некоторые из которых обеспечивают более простую настройку, чем другие. AWS Elastic Beanstalk и Heroku — это простые варианты.

Для целей этого блога мы воспользуемся AWS Elastic Beanstalk для быстрого запуска сервера Parse, следуя приведенному ниже URL-адресу (требуется учетная запись AWS):

  1. Нажмите на AWS Elastic Beanstalk для примера быстрого запуска Parse Server.
  2. Но мы обязательно установим Parse Server 2.1.12 или выше, например, в parse-server-example , убедитесь, что файл package.json содержит «parse-server»: «~ 2.2.16» (где 2.2.16 — это текущий последний на момент написания этой статьи).
  3. Пример Parse Server можно скачать с github: GitHub Parse Пример сервера Репо
  4. Если мы извлечем Zip-файл, мы можем отредактировать версию в package.json
    Пример использования сервера Parse GitHub Download
  5. Мы установим версию Parse Server на 2.2.16 (последняя на момент написания) Package.json с информацией об установке сервера Parse
  6. Мы выберем файлы в каталоге и снова сжимаем их в новый Zip-файл. Сжатие файлов
  7. Мы загрузим наш новый zip-файл, чтобы его можно было развернуть Загрузка нового zip-файла
  8. Настройте Parse Server для подключения к MongoDB Atlas
  9. Внутри AWS Elastic Beanstalk UI AWS Elastic Beanstalk UI
  10. Перейдем к разделу «Конфигурация» в левом меню.
    Parse Server
  11. Затем перейдем в раздел «Конфигурация программного обеспечения», щелкнув значок шестеренки, и прокрутите вниз до раздела «Свойства среды». Свойства окружающей среды
  12. В свойствах среды мы будем использовать любой myAppId, myFileKey, mySecretMasterKey, который мы хотим (поскольку это новое приложение, мы его устанавливаем).
  13. Мы установим значение, отображаемое в верхней части пользовательского интерфейса приложения AWS Elastic Beanstalk справа от «URL:…». Установка SERVER_URL
  14. Мы установим DATABASE_URI следующим образом (заменив жирный текст деталями нашего конкретного кластера)
  15. mongodb://username:[email protected]:27017,node2.mongodb.net:27017,node3.mongodb.net:27017/applicationDbName?replicaSet=clusterName-shard-0&ssl=true&authSource=admin
  16. Мы видим, что соответствующий URI MongoDB должен быть внутри пользовательского интерфейса «Подключить» MongoDB Atlas для кластера, в разделе «Соединения драйверов» Расположение соответствующего URI MongoDB
  17. Тест для подтверждения подключения нашего примера приложения к Parse Server и бэкэнду MongoDB Atlas:
 $ curl -X POST \
> -H "X-Parse-Application-Id: newParseTest" \
> -H "Content-Type: application/json" \
> -d '{"score":1337,"playerName":"John Doe","cheatMode":false}' \
> http://parseserver-365pk-env.us-east-1.elasticbeanstalk.com/parse/classes/GameScore
 Returns:
{
  "objectId": "YMgGV6kVTP",
  "createdAt": "2016-08-26T14:54:26.580Z"
}
 $ curl -X GET \
> -H "X-Parse-Application-Id: newParseTest" \
> -H "X-Parse-Master-Key: MASTER_KEY" \
> http://parseserver-365pk-env.us-east-1.elasticbeanstalk.com/parse/classes/GameScore
 Returns:
{
  "results": [
    {
      "objectId": "YMgGV6kVTP",
      "score": 1337,
      "playerName": "John Doe",
      "cheatMode": false,
      "createdAt": "2016-08-26T14:54:26.580Z",
      "updatedAt": "2016-08-26T14:54:26.580Z"
    }
  ]
}

Теперь вы можете использовать SDK для создания нового приложения, указывающего на ваш экземпляр Parse Server + MongoDB Atlas!