Как развернуть новую службу в существующем приложении в Google App Engine? - PullRequest
0 голосов
/ 22 сентября 2019

Я хочу создать и развернуть новую службу в существующем приложении в App-engine в Google Cloud Platform.

Доступ к приложению можно получить по URL test.appspot.com

Iхочу создать новый сервис с простой веб-страницей, доступ к которой можно получить с помощью URL my-service.test.appspot.com в обработчике приложений.

Я знаю, что мне нужно создать app.yaml и развернутьэто, но я не уверен, нужно ли мне использовать существующий app.yaml, который уже был развернут ранее, или я могу создать новый app.yaml с новым именем службы и развернуть его.

Будет развертываться с новымapp.yaml перезаписать приложение и существующие сервисы или просто создать мой новый сервис в движке приложений?

Какие шаги необходимо выполнить для развертывания нового сервиса в существующем приложении в движке приложений?

Ответы [ 2 ]

2 голосов
/ 23 сентября 2019

Хотя может быть в состоянии использовать существующую app.yaml для развертывания новой службы, указав различные аргументы команды развертывания, я бы не рекомендовал это, поскольку это ИМХО слишком хрупко, вы рискуете повлиятьсуществующего приложения (технически default служба вашего существующего приложения с одним сервисом).Также весьма маловероятно, что вы захотите развернуть точно такой же код в новой службе (развертываемый код - это код из каталога, в котором существует файл .yaml).

Я бы настоятельно рекомендовал (повторно) структурирование вашего приложения с учетом ваших услуг:

  • каталог верхнего уровня приложения содержит файлы конфигурации уровня приложения, а не файлы уровня обслуживания
  • каждая служба имеет свой собственный подкаталогпод каталогом верхнего уровня приложения, каждый со своим собственным кодом и файлом .yaml (который даже не нужно называть app.yaml
  • службами, будет развернут независимо, каждый из своего собственного подкаталога

Добраться туда из каталога приложения с одним сервисом относительно просто: просто создайте подкаталог (для сервиса default) и переместите существующий app.yaml и код в него, проверьте, чтона функциональность это не влияет, и перераспределите из нового местоположения. Затем создайте подкаталоги для дополнительных служб и их код.

См. также:

Как правило, вы создаете каталог для каждой службы, который содержит файлы YAML службы и связанный исходный код.Дополнительные файлы конфигурации уровня приложения (dispatch.yaml, cron.yaml, index.yaml и очередь .yaml) включены в каталог приложений верхнего уровня.В приведенном ниже примере показаны три службы.В service1 и service2 исходные файлы находятся на том же уровне, что и файл YAML.В service3 есть файлы YAML для двух версий.

enter image description here

0 голосов
/ 23 сентября 2019

Appengine предназначен для мышления «микросервис».Каждый сервис изолирован, поэтому у каждого сервиса есть свой исходный код и конфигурация.Кстати, вы можете смешивать стандартную и гибкую версии, вы можете смешивать языковые, статические и динамические ресурсы, ...

Кстати, разверните ваши микросервисы и используйте диспетчеризацию для направления запроса в нужное развертывание.

Тем не менее, 1 совет: поддерживайте согласованность услуг.Я имею в виду, не развертывайте 2 приложения без связи между ними, предпочитайте создавать 2 проекта по следующим причинам:

  • Если растет одно приложение, вас побеспокоят побочные сервисы со следствием:
    • Файл dispatch.yaml ограничен 20 правилами
    • Для этого приложения может быть задействована отдельная команда, роль и авторизация должны быть разделены в каждом приложении
  • В стандарте AppEngine у ​​вас есть 28 часов экземпляра по умолчанию (F1) бесплатно в день.Разделите ваше приложение, чтобы получить больше бесплатных квот!
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...