当前位置: 首页 > 知识库问答 >
问题:

RabbitMQ/AMQP中的消息组

曾歌者
2023-03-14

ActiveMQ/JMS有一个内置机制,用于确保在使用竞争消费者模式时,共享公共报头(即JMSXGroupID报头)的消息始终由队列的同一消费者使用。队列的使用者完全不知道实际的头值,因为具有公共头的消息的保证是在服务器端而不是在使用者端执行的。有关此工作方式的更多详细信息,请参见http://activemq.apache.org/message-groups.html

用AMQP或者用RabbitMQ特定的东西做这样的事情是可能的吗?

共有1个答案

别浩漫
2023-03-14

在写这个答案的时候,单用AMQP是不可能的,需要在应用程序方面进行工作。RabbitMQ计划在将来实现类似的东西,但它不会很快发布或开发。

参考:https://twitter.com/old_sound/status/410898209788411904

 类似资料:
  • 这就是事情。 我正在使用PHP AMQP从Rabbitmq读取结果队列,以便处理发送的每封电子邮件上的重要信息。完成后,我需要将该消息删除或标记为已写入,以便下次读取队列时,不会得到已处理的消息。 由于Rabbitmq服务器每小时发送超过10.000封电子邮件,每次我读取队列以处理结果发送时,脚本至少可以运行5分钟,以便处理队列中的所有消息,因此在完成后,在这5分钟内会发送数百条新消息。这使得我无

  • 我想使用rabbitMq队列中Storm喷口中的消息。 现在,我们使用Spring AMQP异步发送和接收来自RabbitMq的消息。 Spring AMQP提供了从队列读取消息的机制(创建监听器或使用注释@RabbitListner)。 问题是我可以让一个侦听器从队列中读取消息。但是,我如何将此消息发送到Storm群上运行的Storm喷口? 拓扑将启动一个集群,但在我的spout的nextTup

  • 使用Spring AMQP(使用RabbitMQ作为消息代理),我正在准备一个消息,并且我希望我的消息在有时之后被使用。在此之前,它可以在某个队列中等待,比如等待队列,然后移动到我们的主队列,在那里我们有消费者,它正在等待处理来自主队列的消息。 p.s>如果没有rabbitmq_delayed_message_exchange插件也可以。

  • 我在我的消费者体内抛出一个AMQP异常。我的期望是,消息将以FIFO顺序返回队列,并在将来的某个时候重新处理。 Spring AMQP似乎没有将消息释放回队列。而是一次又一次地尝试重新处理失败的消息。这会阻止处理新到达的消息。卡在AMQP控制台内的设备将永远处于“未打包”状态。 有什么想法吗?

  • 介绍 支持在 imi 框架中使用 支持 AMQP 协议的消息队列,如:RabbitMQ 支持消息发布和消费 Github: https://github.com/imiphp/imi-amqp Composer 本项目可以使用composer安装,遵循psr-4自动加载规则,在你的 composer.json 中加入下面的内容: { "require": { "imiphp

  • 我使用Laravel包https://github.com/bschmitt/laravel-amqp/在基于微服务的应用程序中使用RabbitMQ发布和使用消息。我在服务中发布消息,并试图在另一个服务中使用相同的消息。 留档在使用队列中已发布消息的代码上非常清楚。然而,在传统的Laravel队列过程中,我们将描述要在句柄()方法中执行的过程。并调用php artisan队列: work命令来执行