Spring boot RabbitMQ队列管理

Spring boot RabbitMQ队列管理,spring-boot,jakarta-ee,rabbitmq,Spring Boot,Jakarta Ee,Rabbitmq,我目前正在实现RabbitMQ队列以处理一些业务逻辑。 在这里,我必须将对象推送到队列并处理它们。这里我有5K个对象,我的计划是创建5个队列,并限制每个队列接受1k个对象并对其进行处理,这样5K个对象将填充到5个队列中,同时进行处理。这里需要您的建议,我如何限制每个队列的最大允许对象数,以及我如何告诉系统/管理下一个队列的1k对象数。任何人都可以向我建议实现这一点的最佳机制/方法 谢谢, Sudheer您可以查看文档以了解如何设置 默认情况下,如果队列已满,将丢弃新消息。由于RabbitMQ 3

我目前正在实现RabbitMQ队列以处理一些业务逻辑。 在这里,我必须将对象推送到队列并处理它们。这里我有5K个对象,我的计划是创建5个队列,并限制每个队列接受1k个对象并对其进行处理,这样5K个对象将填充到5个队列中,同时进行处理。这里需要您的建议,我如何限制每个队列的最大允许对象数,以及我如何告诉系统/管理下一个队列的1k对象数。任何人都可以向我建议实现这一点的最佳机制/方法

谢谢,
Sudheer

您可以查看文档以了解如何设置

默认情况下,如果队列已满,将丢弃新消息。由于RabbitMQ 3.7.0,您可以在队列溢出时配置代理


通过这种方式,您可以让发布者等待,直到队列中有新的空间。

第一个队列已满时,我们是否可以将对象发送到其他队列?或者,在我的案例5队列中,是否有类似负载平衡器的东西可以在不同的队列之间以循环方式分配对象。你为什么打算把队列分成5个?为什么不是25K大小的队列?我想减少处理时间。如果我只使用一个队列,假设我正在推1k个对象。侦听器将拾取并进行处理,需要10分钟,然后1K对象将需要更多时间。如果我为这些队列维护5个队列和5个侦听器,并且我可以并行处理,我可以减少处理时间。您可以将任意多个使用者附加到同一队列。RabbitMQ将任务平均分配给连接的使用者。只需确保每个侦听器使用一个专用频道。