RabbitMQ - 相同的消息是否会通过不同的连接传递给消费者

标签 rabbitmq prefetch

如果我有并与绑定(bind)到它的单个队列进行交换。我有两个进程,每个进程都有自己的连接。每个连接都有自己的使用者,该使用者正在使用来自该单个队列的消息。

是否有可能当消息放入队列时,两个消费者都可以传递相同的消息?

预取似乎适用于单个 channel 或连接上的消费者(如果设置了全局标志)。跨多个连接的消费者会发生什么

最佳答案

没有。消息始终以循环方式传递给同一队列上的多个使用者。

如果您需要将消息发送给两个消费者,一种解决方案是使用相同的路由键将两个队列绑定(bind)到同一交换器。

关于RabbitMQ - 相同的消息是否会通过不同的连接传递给消费者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57098069/

相关文章:

rabbitmq - MassTransit:使用虚拟主机指定 uri

django - 使用 prefetch_lated(model_SET).all() 获取相关模型外键(除了 ManyToMany 之外)

linux - 如何以编程方式禁用硬件预取?

java - spring-amqp- 较新的调用监听器

java - Spring Boot 中的 RabbitMQ 有什么问题

rabbitmq - 如何使用rabbitmq作为分布式任务队列?

java - Hibernate:如何急切地获取未关联的实体?

performance - 为什么 L2 硬件预取器在只有 1 KiB 或 2 KiB 访问大小时性能较差?

html - html5 链接预取会影响 Google Analytics 吗?

RabbitMQ 创建连接是一项昂贵的操作