Как правильно организовать структуру микросервисов?
Всем доброго дня. Пытаюсь организовать проект разделив логику на множество микросервисов. Не понимаю как организовать структуру.
Пример того, как бы я организовал структуру с помощью http.
Есть клиент, делает http запрос на сервер аутентификации (на нем будет сосредоточена проверка аутентификации запроса), если сервер аутентификации совершил проверку удачно, запрос перенаправляется сервису, при этом сервер аутентификации добавит в тело запроса информацию о пользователи итп.
Но как организовать правильно используя kafka (или аналог) преставления не имею. Подскажите что почитать, какие примеры посмотреть, либо пример архитектур. Спасибо
1. на счет Identity Server - никаких данных он о пользователе не присылает никому. Есть клиент, он проходит аутентификацию, в процессе которой получает токен, с которым ходит в другие сервисы. Сервисы промеряют токен сами или через Identity Server. Для большего понимания идем читать про OpenID/OAuth2 Flow.
2. Кафка живет в своем мире, но у нее есть свои способы аутентификации
3. Пользователи нигде, кроме фронтона не аутентифицируются. Максимум где есть понимание что действие происходит от имени пользователя - API для фронтенда (или приложения). После этого авторизация идет сервисов ибо общаются они между собой
Я понял суть. У меня есть лишь один вопрос.
Я хочу использовать jwt аутентификацию с рефреш и ацес токеном, это значит что после каждого запроса токен будет меняться. Как можно обыграть ситацию, когда нет подписанных сервисов и кафка хранит в себе очередь. Нужно хранить историю токенов или есть другая практика?
сначала подумайте нужен ли такой гемор в разработке и сопровождении как микросервисы (вы еще не начали делать а уже не знаете как).
в большинстве случаев микросервисы делают потомуку чыто это модно а не потому что от них много пользы
У работодателей я вижу много запросов на микросервисную архитектуру, там где я работаю нет этого я и не могу попрактиковаться, поэтому хочу сделать небольшой свой проект. Не совсем вы правы, все зависит от проекта. Представьте сбербанк без микросервиса.