rabbitmq 队列中的几个STOMP消费者对每条消息只处理一次

2w3rbyxf  于 2023-10-20  发布在  RabbitMQ
关注(0)|答案(1)|浏览(153)

我在RabbitMQ上有一个队列,一个应用程序通过STOMP从该队列中消费。我希望有2个或更多的应用示例从同一队列中消费。
如何使用队列中的每条消息一次且仅一次?例如,如果我在队列中有消息A、B、C,我希望我的应用程序像这样使用这些消息:

  • 示例1:A
  • 示例2:B、C

不是这样的:

  • 示例1:A、B、C
  • 示例2:A、B、C
s8vozzvw

s8vozzvw1#

你不能在RabbitMQ中配置“STOMP队列”。STOMP规范没有定义目的地的传递语义应该是什么。正如RabbitMQ文档中所指出的,您可以使用一些不同的前缀来获得所需的语义,例如:

  • /exchange--SEND到任意路由键,SUBSCRIBE到任意绑定模式;
  • /queue--SENDSUBSCRIBE到STOMP网关管理的队列;
  • /amq/queue--SENDSUBSCRIBE到STOMP网关外部创建的队列;
  • /topic--SENDSUBSCRIBE用于短暂和持久主题;
  • /temp-queue/--创建临时队列(仅在reply-to头中)。

相关问题