Это вопрос высокого уровня, который я задаю для того, что я сейчас разрабатываю, и, похоже, не могу найти точный ответ, который ищу.
Сценарий: У меня есть. Net Core REST API который будет получать запросы от внешнего приложения. Эти запросы будут отправлены в экземпляр RabbitMQ. Эти уведомления будут отправлены на обмен, а затем разветвлены по нескольким очередям для нескольких потребителей.
Есть один потребитель, за которого я буду нести ответственность, и мне нужен совет по передовым методам. В конечном итоге появится REST API, который в конечном итоге должен будет реагировать на эти сообщения, помещенные в очередь. Этот REST API представляет собой контейнерное (Docker) приложение, работающее в кластере Kubernetes. Он будет получать много запросов c за пределами этих уведомлений (сообщения очереди), делать SQL звонков и т.д. c.
Мой вопрос: должен ли я иметь внешний микросервис (размещенный service / background service), который подписывается на эту очередь с намерением вызвать указанный REST API. Вроде как трафик c полицейский; маршрутизация сообщений к соответствующему методу API на основе определенных точек данных.
Или
Можно ли поместить этого потребителя непосредственно в рассматриваемый c REST API с высоким трафиком?
Есть какие-нибудь советы по этому поводу? Заранее спасибо!