пишут типо сервисы должны общаться через события. И это на самом деле makes sense.
Но вот как в моем примере, есть пара сущностей в системе, например менджер, бухгалтер и поддержка.
У каждого из них своя бизнес логика, поэтому в 1 сервис запихывать не имеет смысла.
Но авторизация у меня происходит через KeyCloak и юзеры соответственно там хранятся.
Допустим у сервиса менеджеров есть своя бд с пользователями, но там айдишник это по сути айдишник пользователя в KeyCloak.
Вопрос в следующем, как я могу через какую-то кафку общаться на query комманды, то есть к примеру нужно инфу получить о юзере, она хранится в Keycloak, то каким образом например сервис менеджеров сможет это сделать без прямого запроса к сервису с юзерами?
Мне нужно получить инфу с KeyCloak, как мне с сервиса менеджеров через события запрос послать на получение инфы о пользователе, это по сути блокирующий вызов должен быть, я понимаю что можно сделать разные типы событий в кафке и обрабатывать, но это будет полный callback/event hell.
Или например получить количество заказов обрабатываемых менеджером, если за заказы отвечает отдельный сервис заказаов.
Так а напрямую из киклоука нельзя выдернуть?
в ситуации с менеджером и заказами должен быть сервис который хранит готовый агрегат (managerId: 1, orders: [...])
вся инфа о пользователях - в отдельном сервисе, ролевая тоже там, все приходит внутри жвт токена
Обсуждают сегодня