@topuserman

RabbitMQ: exchange должен быть отдельным файлом?

Изучаю RabbitMQ, как понял, все сообщения в очередь должны поступать через exchange от producer`а.
Exchange в свою очередь маршрутизирует сообщение.

В примерах кода, exchange написан прямо в коде продюсера - это правильно? Или Exchnage должен быть отдельным файлом?

Т.е. насколько я понял, может быть несколько файлов-эксченджей, и каждый настроен под свой тип (direct/topic/fanout/headers), и при отправки сообщения мы отправляем в нужный эксчендж?
  • Вопрос задан
  • 32 просмотра
Пригласить эксперта
Ответы на вопрос 2
inoise
@inoise
Solution Architect, AWS Certified, Serverless
В идеале это должно трактоваться конфигурацией инфраструктуры, конечно

В остальном понимаешь верно
Ответ написан
@yarkin
Exchange это объект сервера, клиент лишь должен знать его имя (строку) для отправки сообщения. Клиент может создавать новые эксченжи, для чего нужно предоставить больше информации RabbitMQ (например, тип), в мануалах это как раз и используют чтобы упроситить и показать всю конфигурацию явно. В реальном продакшене, имхо, лучше чтобы вся инфраструктура обменников и очередей была предподготовленна отдельными утилитами, но для небольших сервисов это большой оверхед и проще из кода всё создавать. Я бы рекомендовал посмотреть ещё в сторону такого решения.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы