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

如何在RabbitMQ中将消息作为作业集处理?

翟泰
2023-03-14

我是RabbitMQ新手,我使用教程尝试了RabbitMQ示例https://www.rabbitmq.com/getstarted.html.

有人能解释一下如何按设置发布消息,而不是一次发布一条消息吗?此外,如何订阅消息从队列作为一个集合,而不是单一的消息一次。

也就是说,我们如何在RabbitMQ中实现发布和使用队列消息作为作业集?

提前谢谢。

共有1个答案

曹景铄
2023-03-14

不写自己的逻辑是没有办法实现你所描述的。

按照你自己的逻辑,我指的是几个选项:

  1. 修改producer以将“作业”打包到单个消息中
  2. 创建一个“特殊”消费者,将消息捆绑在一起,并将它们推送到正确的交换机
  3. 在消费者端使用预回迁计数,并使用一些逻辑将消息聚合在一起
 类似资料:
  • 我是芹菜、Redis和RabbitMQ的新手。 目前,我正在使用RabbitMQ作为消息代理,并且在配置中没有设置任何内容。(使用Django、MySQL) 我想知道是否有可能使用Redis作为后端的结果存储,同时将RabbitMQ用作消息代理。 我知道的只是添加一些设置,

  • 当RabbitMq消息到达队列时,我目前正在使用IntegrationFlow来触发作业执行。IntegrationFlow的AmqpInFronChannelAdapter和作业的第一步的ItemReader都配置为从同一队列中读取消息。 我遇到的问题是IntegrationFlow的AmqpInboundChannelAdapter读取RabbitMQ消息,然后ItemReader再也找不到该

  • Java8集合提供了以流形式获取集合的特性。然而,一旦我们调用stream()方法,我们就会以stream的形式获得集合的当前内容。如果我的集合在流处理过程中增长怎么办?流上的操作可能会用更多的数据更新集合。有没有一个简单有效的方法来处理这种情况?

  • 我有以下兔子听者: 我需要将listener配置为在它处理一条消息后等待15分钟,然后再接收下一条消息。不需要在此方法中等待。我所需要的只是在处理完一条后不接收任何消息。可以通过来完成,但我不确定这是否是实现这一点的最佳方法。对于这种情况有没有rabbitmq的配置?

  • 我正在使用Spring AMQP与RabbitMQ一起工作。以下是我的配置: 正如您所看到的,prefetchCount是1000。 我想知道预取的消息是否在消费者中并行处理;也就是说,多个线程调用onMessage(消息消息)方法。或者消息是按顺序处理的;也就是说,一个线程迭代预取的消息,并以连续的方式调用每个消息的onMessage(消息消息消息)方法。 我应该注意到,处理的顺序对我来说并不重

  • 我是一个新的学习者,试图理解拉雷维尔的拉比MQ。我已找到驱动程序vyuldashev/laravel队列rabbitmq 我已经配置应用程序/queue.php,并运行驱动程序与此语法"php工匠队列:工作Rabbitmq"。控制器。我不会在我的控制器中调度作业,因为laravel只是监听消息并处理消息。谁能帮我解释一下这是怎么回事?谢啦