社区
Linux/Unix社区
帖子详情
RabbitMQ怎样能实现多个队列由一个消费者来接收消息?
笑天居士
2014-03-12 07:57:53
RabbitMQ怎样能实现多个队列由一个消费者来接收消息?
多个队列M,由N个消费者来处理,M>N,这种情况也就是怎样实现多个队列由一个消费者来接收消息
consume这是阻塞读,同一时刻只能阻塞读一个队列的消息,轮旬也不是办法啊
就象Gearman任务分发一样
...全文
4233
3
打赏
收藏
RabbitMQ怎样能实现多个队列由一个消费者来接收消息?
RabbitMQ怎样能实现多个队列由一个消费者来接收消息? 多个队列M,由N个消费者来处理,M>N,这种情况也就是怎样实现多个队列由一个消费者来接收消息 consume这是阻塞读,同一时刻只能阻塞读一个队列的消息,轮旬也不是办法啊 就象Gearman任务分发一样
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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
学习第二节--WorkQueue工作
队列
每个
消费者
都会收到不同的
消息
本文围绕
RabbitMQ
的WorkQueue工作
队列
展开,通过案例进行说明。模拟了
一个
生产者与
一个
消费者
的情况,生产者产生101条
消息
,
消费者
接收
消息
后发送短信;还模拟了
一个
生产者与
多个
消费者
的情况,不同服务器上的
消费者
处理
消息
队列
数据量不同。
rabbitmq
集群保证顺序消费_
RabbitMQ
的
一个
队列
多个
消费者
消费,如何保证
消息
不重复消费...
在stackoverflow上找到关于
RabbitMQ
的答案。当单个
队列
有
多个
消费者
时,
RabbitMQ
会轮询
消息
给
消费者
,且只有
一个
消费者
能从
队列
接收
消息
。若要所有
消费者
接收
所有
消息
,需为每个
消费者
配置单独
队列
,并通过扇出交换器发布
消息
。
php ampq 检查
多个
队列
,
RabbitMQ
/ AMQP:单个
队列
,
多个
消费者
相同的
消息
?
本文探讨了如何在
RabbitMQ
的AMQP环境中,让
多个
消费者
接收
相同的
消息
ID。关键在于理解
消息
负载均衡的AMQP概念,通常需要创建独立
队列
而非共享
队列
。通过扇出交换和动态
队列
配置,
实现
了单个
消息
广播到
多个
消费者
的需求。
springboot整合
rabbitMQ
系列(二)
一个
队列
里面的信息,让
多个
消费者
进行消费
本文介绍了
RabbitMQ
中的工作模型,该模型允许
多个
消费者
消费
队列
中的
消息
,采用轮询方式分发。在SpringBoot项目中,通过`@RabbitListener`注解创建了两个
消费者
方法,
实现
了
消息
的
接收
。发送者部分保持不变,继续向名为'work'的
队列
发送
消息
。
RabbitMQ
——
消息
发布订阅
通过
RabbitMQ
实现
消息
的发布订阅模式,
一个
生产者将
消息
发送到交换机,
多个
消费者
通过各自的
队列
绑定交换机,
实现
同一
消息
被
多个
消费者
接收
。
Linux/Unix社区
18,828
社区成员
11,491
社区内容
发帖
与我相关
我的任务
Linux/Unix社区
Linux/Unix社区 专题技术讨论区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 专题技术讨论区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章