2016-11-16 4 views
3

Я использую java-клиент RabbitMQ. Мое приложение имеет несколько обменов и очередей. Принятие чего-то похожего на модель Pub/Sub.Сколько соединений поддерживается в RabbitMQ?

Какова наилучшая практика в отношении соединений? Должен ли я подключиться к одному приложению?

Я понимаю модель канала и модель безопасности нити (un). Просто не уверен, что у меня должно быть несколько соединений или нет.

ответ

4

Правильное подключение для одного приложения.

В этом случае у вас будет много каналов, где выполняется настоящая работа.

Вы можете иметь сотни или тысячи производителей и потребителей сообщений (каждый на своем канале) внутри одного соединения.

Если вы начнете замечать замедление в настройке RMQ, потому что у вас слишком много работы, посмотрите на кластеризацию RMQ и/или на несколько экземпляров вашего приложения.

Но вы по-прежнему будете поддерживать 1 подключение на один экземпляр приложения.

+0

Отличный ответ. Это именно то, что я искал. – gba

1

Это будет зависеть от объема сообщений, которые у вас будут. Если это действительно огромно, возможно, это может сделать 2 или 3 подключения, но один из них кажется лучшим выбором.

+0

Мой вопрос не касался очередей. Это касалось связей. – gba

+0

Мой плохой, я имел в виду подключения – DamCx

+0

ОК, спасибо. Но, можете ли вы объяснить, предоставить обоснования, подтверждающие ваши претензии? – gba