社区
Linux/Unix社区
帖子详情
RabbitMQ怎样能实现多个队列由一个消费者来接收消息?
笑天居士
2014-03-12 07:57:53
RabbitMQ怎样能实现多个队列由一个消费者来接收消息?
多个队列M,由N个消费者来处理,M>N,这种情况也就是怎样实现多个队列由一个消费者来接收消息
consume这是阻塞读,同一时刻只能阻塞读一个队列的消息,轮旬也不是办法啊
就象Gearman任务分发一样
...全文
4158
3
打赏
收藏
RabbitMQ怎样能实现多个队列由一个消费者来接收消息?
RabbitMQ怎样能实现多个队列由一个消费者来接收消息? 多个队列M,由N个消费者来处理,M>N,这种情况也就是怎样实现多个队列由一个消费者来接收消息 consume这是阻塞读,同一时刻只能阻塞读一个队列的消息,轮旬也不是办法啊 就象Gearman任务分发一样
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
笑天居士
2014-05-08
打赏
举报
回复
引用 2 楼 buyejiangshan 的回复:
能说下具体实现方法吗?多线程不是不好管理吗
这个我也请教过别人 1、笨拙点方法,就是轮循,consume的阻塞监听可以设置timeout,通过设置一个较小的timeout,可以轮流监听几个channel,变相实现监听多个queue,对性能要求不是很高,可以使用这种方法 2、还有个办法就是先取出一个队列的消息数,然后循环的都读出后,转去读另一个队列,所有队列如果都没有消息了,就这样循环等待着 3、还有一个专业人士的回答,但是我还没有完全理解: 消费者(consumer)这是个业务层的概念,而消费或者说订阅(也就是 consume)是 AMQP 协议层的东西,所以,你问一个消费者能否订阅多个queue,答案是当然可以。方案也就一种,按照协议的流程分别向不同的 queue 进行 consume。至于是使用多线程方式来处理,还是使用事件驱动的方式(单线程)来处理这就取决于实现了。 如果对多线程控制能力不是很强,建议不要用这种方式,太专业了 4、这个问题后来我仔细想过,也许可以在应用层进行一下重新设计,可以用线程池作为多个consumer只读取出消息,不进行处理,然后publish进另一个队列,然后用由一个consumer来处理消息 希望对你有所帮助
cnhuangxf
2014-05-06
打赏
举报
回复
能说下具体实现方法吗?多线程不是不好管理吗
笑天居士
2014-03-15
打赏
举报
回复
请教了下别人,这种情况只能是利用Topic方式进组合并分发了 要么就建立最详细的多个队列比如1000个,然手consumer利用线程池多线程的监听所有队列
RabbitMq
与Spring整合实例
RabbitMQ
是一款开源的
消息
队列
系统,它基于AMQP(Advanced Message Queuing Protocol)协议
实现
,广泛应用于分布式系统中,用于解耦发送者和
接收
者,提供可靠的
消息
传递。Spring框架是Java开发中常用的轻量级框架,...
RabbitMQ
中有大批量的
消息
,此时
多个
消费者
同时访问
消息
队列
是怎样取里面的
消息
的?
文章目录
RabbitMQ
中有大批量的
消息
,此时
多个
消费者
同时访问
消息
队列
是怎样取里面的
消息
的?首先写
一个
消费者
模拟出
多个
消费者
线程模拟生产者向
RabbitMQ
消息
队列
里生产大量的
消息
测试
RabbitMQ
中有大批量的
消息
,...
Rabbitmq
direct 模式:保证
一个
队列
只对应
一个
消费者
处理方案
总结: 1.
rabbitMQ
生产者生产的
消息
是有序进入任务
队列
的;但
多个
消费者
的情况下无论是否ack,都是无序的,不考虑任务时长; ...4.
rabbitMQ
要想顺序消费,必须
一个
任务
队列
只有
一个
消费者
,必要...
RabbitMq
实现
多
队列
消息
生产
1、业务
消息
传递,mq创建对列在config中配置交换机、
队列
、路由键等,组装成
一个
完整的
消息
生成者。单独的
一个
消息
传递的
队列
。 2、如何在
多个
业务场景下通过mq的配置建立
多个
队列
和
多个
与
队列
匹配的路由键。实习由...
rabbitmq
不同的
消费者
消费同
一个
队列
_
RabbitMQ
如何保证
队列
里的
消息
99.99%被消费?...
1. 本篇概要其实,还有1种场景需要考虑:当
消费者
接收
到
消息
后,还没处理完业务逻辑,
消费者
挂掉了,那
消息
也算丢失了?,比如用户下单,订单中心发送了1个
消息
到
RabbitMQ
里的
队列
,积分中心收到这个
消息
,准备给这...
Linux/Unix社区
18,829
社区成员
11,501
社区内容
发帖
与我相关
我的任务
Linux/Unix社区
Linux/Unix社区 专题技术讨论区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 专题技术讨论区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章