RabbitMQ + Spring云流:组的使用

时间:2019-01-02 19:45:15

标签: spring rabbitmq spring-cloud spring-cloud-stream

使用RabbitMQ + Spring云流时,可以在application.properties文件中定义以下属性:

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

我想“目的地”是指RabbitMQ队列,但是这里的“组”是什么意思?

谢谢!

2 个答案:

答案 0 :(得分:2)

destination表示主题交换group表示绑定到该交换的 queue 。因此,如果几个应用程序使用不同的组,它们可能会订阅相同的目的地并收到相同的消息。如果组相同,则只有一个消费者实例会收到一条消息。

有关更多信息,请参见文档: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

答案 1 :(得分:1)

实际上,目的地是交易所名称;队列someDest.someGroup将绑定到交换机someDest

提供组后,该应用的多个实例将争夺消息。

如果没有组,该队列将是一个匿名自动删除队列。