RabbitMQ + Spring Cloud Stream: использование групп

При использовании облачного потока RabbitMQ + Spring вы можете определить следующие свойства в файле application.properties:

spring.cloud.stream.bindings.input1.destination=someDest
spring.cloud.stream.bindings.input1.group=someGroup

Я предполагаю, что «пункт назначения» означает очередь RabbitMQ, но что здесь означает «группа»?

Спасибо!

3
0
308
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

destination означает обмен темами. group означает очередь, привязанный к этому обмену. Таким образом, несколько приложений могут подписаться на одно и то же место назначения и получать одно и то же сообщение, если они используют разные группы. Если группа такая же, только один экземпляр-потребитель получит одно сообщение.

См. Документацию для получения дополнительной информации: http://cloud.spring.io/spring-cloud-static/spring-cloud-stream-binder-rabbit/2.1.0.RC4/single/spring-cloud-stream-binder-rabbit.html#_rabbitmq_binder_overview

Ответ принят как подходящий

Фактически, пункт назначения - это имя обмена; очередь someDest.someGroup будет привязана к обмену someDest.

Когда предоставляется группа, несколько экземпляров приложения будут соревноваться за сообщения.

Если группы нет, очередь будет анонимной очередью с автоматическим удалением.

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