Микросервисная связь в AppEngine / Облачные Функции - PullRequest
0 голосов
/ 14 марта 2019

Предупреждение: я новичок в AppEngine (стандарт) и не использовал функции Cloud раньше.Я смотрю на оба решения.

Привет, я пытаюсь настроить микросервисную архитектуру в облаке Google с помощью обычного веб-приложения.Это выполняется на сервере с использованием go 1.11 в стандарте Appengine.

У меня были бы следующие услуги:

  • auth заботится о входе пользователя в систему / регистрации / сброса пароля

  • интерфейс заботится о публичном веб-сайте

  • блог заботится о аспекте блога на общедоступном веб-сайте

  • Панель управления заботится об аутентифицированном веб-сайте.

Итак, предположим, что я выдаю токен JWT с асимметричным шифрованием при аутентификации пользователя (содержащий userId, роль, метку времени истечения), каждая служба должна будетпроверьте токен JWT, используя открытый ключ.После этого им нужно извлечь объект пользователя, используя userId, содержащийся в этом токене.

В идеале, они должны попросить авторизованный микросервис для получения объекта пользователя по HTTP или gRPC, поэтомуПользовательские SQL-запросы содержатся только в микросервисе auth, который подключен к пользовательской базе данных.

Как я должен связывать сервисы?например, как установить доверие между микросервисом auth и внешним интерфейсом, чтобы fetchUser () был доступен только для других моих служб appEngine?

Как это переводится в функции AppEngine или Cloud?Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...