您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

如何在Spring Boot中实现循环队列使用者

如何在Spring Boot中实现循环队列使用者

RabbitMQ对待所有消费者都是相同的- 它知道一个容器中的多个消费者之间没有区别。一个消费者在多个容器中(例如在不同的主机上)。从Rabbit的角度来看,每个人都是消费者。

如果要更好地控制服务器亲缘关系,则需要使用多个队列,每个容器侦听自己的队列。

然后,您可以在生产者端控制分发-例如,使用主题或直接交换和特定的路由键将消息路由到特定的队列。

这将生产者与消费者紧密地联系在一起(他必须知道有多少人)。

或者,您可以让生产者使用路由键rk.0, rk.1, ..., rk.29(反复地,当达到30时重置为0)。

然后,您可以使用多个绑定来绑定使用者队列-

消费者1将rk.0转换为rk.9,2将rk.10转换为rk.19,依此类推。

如果随后决定增加使用者的数量,则只需适当地重构绑定即可重新分配工作。

容器将按需扩展到maxConcurrentConsumers,但实际上,仅在整个容器空闲一段时间后才进行缩减。

Java 2022/1/1 18:14:07 有521人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶