Предупреждение: я новичок в AppEngine (стандарт) и не использовал функции Cloud раньше.Я смотрю на оба решения.
Привет, я пытаюсь настроить микросервисную архитектуру в облаке Google с помощью обычного веб-приложения.Это выполняется на сервере с использованием go 1.11 в стандарте Appengine.
У меня были бы следующие услуги:
auth заботится о входе пользователя в систему / регистрации / сброса пароля
интерфейс заботится о публичном веб-сайте
блог заботится о аспекте блога на общедоступном веб-сайте
Панель управления заботится об аутентифицированном веб-сайте.
Итак, предположим, что я выдаю токен JWT с асимметричным шифрованием при аутентификации пользователя (содержащий userId, роль, метку времени истечения), каждая служба должна будетпроверьте токен JWT, используя открытый ключ.После этого им нужно извлечь объект пользователя, используя userId, содержащийся в этом токене.
В идеале, они должны попросить авторизованный микросервис для получения объекта пользователя по HTTP или gRPC, поэтомуПользовательские SQL-запросы содержатся только в микросервисе auth, который подключен к пользовательской базе данных.
Как я должен связывать сервисы?например, как установить доверие между микросервисом auth и внешним интерфейсом, чтобы fetchUser () был доступен только для других моих служб appEngine?
Как это переводится в функции AppEngine или Cloud?Спасибо!