как мне создать архитектуру API и фронт-приложения в Google App Engine? - PullRequest
0 голосов
/ 18 декабря 2018

Я разрабатываю свое первое приложение node.js, развертываемое в GAE.

Оно будет организовано как служба API и интерфейсное веб-приложение, разработанное с помощью Next.js

Я смотрю на эту архитектуру, и, хотя у меня есть приложение, разделенное на два репозитория, у меня может быть одно объединенное репо для создания двух разных микросервисов:

https://medium.com/this-dot-labs/node-js-microservices-on-google-app-engine-b1193497fb4b

Для меня этокажется чрезмерным создание нового репо для их объединения и развертывания (разве это не нарушает одну из основных идей микросервисов по созданию изолированных развертываний?)

Я должен препятствовать этому, потому что в некоторых частях нам нужен SEO, и мы должны использовать Next.js (или аналогичный):

https://cloud.google.com/storage/docs/hosting-static-website

Другая идея, над которой я работал, - это ... создавать различные проекты GAE для front и API для развертываниянезависимо.Для меня это кажется лучшим вариантом, но я хотел бы узнать ваше мнение как экспертов GAE.

Какой из них мне следует использовать?

Спасибо!

1 Ответ

0 голосов
/ 18 декабря 2018

GAE не волнует, как код, который будет развернут в сервисах, сопоставлен с одним или несколькими репозиториями VCS (или вообще без репозиториев).Это зависит только от вас.

В одном репозитории вы можете столкнуться с трудностями при развертывании из конвейеров CI / CD - например, из-за ненужных развертываний в одной службе, когда изменяется только другая.

Множество примеровтам сосредоточены на приложениях, а не службах, но это не что иное, как стандартные службы этих приложений.Лично мне нравится хранить код для разных сервисов в отдельных каталогах, см. Изображение, захваченное в Может ли сервис / модуль по умолчанию в приложении Google App Engine быть братом, отличным от сервиса по умолчанию, с точки зрения структуры папок? (больше не присутствует на обновленной странице документации).Это также позволяет легко сопоставлять несколько отдельных VCS-репозиториев

. Что касается нескольких проектов и нескольких служб, это может помочь : Преимущества реализации сред CI / CD в GAEуровень проекта / приложения или уровень сервиса / модуля?

Упомянутая вами статическая ссылка на веб-сайт не является частью GAE, она является частью GCS - другого продукта GCP.Хорошо использовать само по себе - для статического веб-сайта, но может быть трудным / невозможным:

  • взаимодействовать между службой, работающей на нем, и службой, работающей на GAE - есливам нужно, чтобы
  • сделал так, чтобы эти 2 службы отображались как одна (например, под одним и тем же именем домена)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...