Причины не использовать обмен по умолчанию на RabbitMQ?

Я начал работать с RabbitMQ, и мой случай использования довольно прост - производители помещают сообщения в очереди для обработки потребителями. Каждое сообщение обрабатывается не более чем одним потребителем, и сообщения направляются от производителя к потребителю на основе имени очереди.

Direct обмены кажутся вполне подходящими для этого и default обмен это direct обмен.

Есть ли какие-либо причины (производительность, управление, разрешение и т. Д.), Чтобы не использовать default обменять и создать свой собственный вместо этого? Например, я буду использовать очереди высокой доступности ( https://www.rabbitmq.com/ha.html) и не был уверен, будет ли какое-либо негативное влияние на кластер, если все очереди высокой доступности были в default обмен в отличие от другого обмена?

1 ответ

Решение

При обмене по умолчанию вы получаете производительность, так как логика маршрутизации практически не задействована, но в итоге вы подключаете своих издателей к своим потребителям, что является своего рода анти-паттерном в обмене сообщениями.

В то же время, если вы беспокоитесь о производительности, я сомневаюсь, что производительность маршрутизации RabbitMQ будет первой проблемой, с которой вы столкнетесь. Пейджинг очереди, синхронизация очереди по сети в случае высокой доступности и т. Д., Кажется, вещи, о которых я бы беспокоился, заботясь о производительности.

Другие вопросы по тегам