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

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

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

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


person user783836    schedule 09.10.2015    source источник


Ответы (1)


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

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

person old_sound    schedule 12.10.2015
comment
Спасибо. Я не беспокоился о производительности как таковой (это был просто пример), но больше, если есть какие-либо веские причины не использовать обмен по умолчанию, если мне нужна прямая маршрутизация. Например, я недавно обнаружил, что существуют ограничения по умолчанию для обмена и федерации. - person user783836; 13.10.2015
comment
Я не вижу причин использовать глухой обмен, если вы не делаете что-то вроде RPC - person old_sound; 13.10.2015