You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

RabbitMQ技术咨询:能否向多交换机/多队列发送单条消息?

RabbitMQ 问题解答

问题1:是否可以向多个交换机发送单条消息?

可以。你只需对同一条消息对象多次调用basic_publish方法,每次指定不同的交换机名称即可,无需重复创建消息实例。示例代码如下:

$msg = new AMQPMessage('text');
// 发送到第一个交换机
$channel->basic_publish($msg, 'exchange_1', 'routing_key_1');
// 发送到第二个交换机
$channel->basic_publish($msg, 'exchange_2', 'routing_key_2');

问题2:使用advert.*路由键能否一次性向两个队列发送消息?

可以。因为你使用的是TOPIC类型交换机,它的路由键匹配规则中:

  • * 用于匹配单个单词(单词以.作为分隔符)
  • 你的两个队列分别绑定了advert.create和advert.edit路由键,这两个路由键完全符合advert.*的匹配模式

所以执行你提供的代码时,adverts交换机会自动将消息路由到adverts_create和adverts_edit两个队列,实现一次性给多个队列发送消息的效果。

内容的提问来源于stack exchange,提问作者Basil

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 18:22:51