Как правильно распределять запросы по микросервисам?

Допустим в качестве брокера запросов к микросервисам использую Кафка или Rabbit или что то другое. Пока выбираю что использовать.

Но я не понимаю на основании чего брокеры знают каким именно сервисам нужно ставить запросы в очередь? Т.е. например идет оформление заказа , запрашиваются данные от сервиса доставки о доступных способах доставки и сервис склада проверяет наличие. А еще нужно при этом проверить, что пользователь авторизован.

Брокеры сообщений Кафка или Rabbit самостоятельно решать какие сервисы вызывать не могут , да и не должны.

Жестко указывать в слое API какие сервисы должны быть вызваны, тоже не хорошо. Получается нужно использовать какой то инструмент который будет отдавать задания каким сервисам создавать очередь запросов? Какой инструмент можно использовать, чтобы обеспечить нужную гибкость?


Ответы (1 шт):

Автор решения: Vadim

ИМХО: Кафка или Rabbit - это внутренние технические сервисы, которыми пользуются более высокоуровневые сервисы типа Api или приложения.

Именно на них лежит ответственность по авторизации или определении других условий допустимости транспортировки данных в системе при помощи таких низкоуровневых транспортных систем

→ Ссылка