使用RabbitMQ获得一次准确投放时,可以使用spring.cloud.stream.bindings。<channel> .group吗?

时间:2019-07-06 15:34:28

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

所以我正在阅读tutorial来配置RabbitMQ和SpringBoot。

有人说:

  

大多数时候,我们只需要处理一次消息。   Spring Cloud Stream通过消费者群体实现了这一行为。

因此,我开始在Spring docs上寻找更多信息,其内容是:

  

这样做时,会将应用程序的不同实例放置在   竞争性消费者关系,其中只有一种情况是   应该处理给定的消息。

     

Spring Cloud Stream通过以下概念为这种行为建模   消费群体。 (Spring Cloud Stream消费者组类似于   并受到Kafka消费者群体的启发。)

因此,我使用Spring Boot Cloud Stream和RabbitMQ并使用spring.cloud.stream.bindings.<channel>.group设置了here两个节点。

在我看来,这似乎至少是一次。我认为那是错误的吗?即使使用spring.cloud.stream.bindings.<channel>.group,我是否仍然可以处理两次消息?

谢谢

1 个答案:

答案 0 :(得分:1)

至少一次。发送确认之前,连接可能已关闭。稀有,但可能。