RabbitMQ Routing 之订阅模型-Direct(直连)

RabbitMQ 中的 Routing(直连)订阅模型 - Direct Exchange 是一种基于路由键(routing key)精确匹配的消息分发方式。在这个模型中,消息传递具有一定的选择性,生产者发布消息时会指定一个路由键,而队列在绑定到交换机时也会指定一个路由键或通配符。只有当发送消息时提供的路由键与队列绑定时使用的路由键完全匹配时,消息才会被投递到该队列。

具体工作流程如下:

  1. 创建 Direct 交换机
    生产者和消费者可以声明一个 Direct 类型的交换机,如 direct_logs

  2. 绑定队列
    消费者将需要接收特定类型消息的队列绑定到 Direct 交换机上,并指定一个绑定键(binding key)。例如,假设我们有三个队列 error_queuewarning_queueinfo_queue,分别用于处理错误、警告和普通信息级别的日志。这些队列可以分别绑定到交换机 direct_logs 上,并使用对应的路由键 errorwarninginfo

  3. 发布消息
    当生产者向交换机 direct_logs 发布一条消息时,它会携带一个路由键。例如,如果发布一条路由键为 warning 的消息,则消息会被转发至所有已绑定并使用路由键 warning 的队列(在本例中即 warning_queue)。

  4. 消息投递
    直连交换机会检查每个绑定,只有当消息的路由键与某个队列的绑定键相匹配时,消息才会被投递到那个队列。不匹配的路由键则不会导致消息被任何队列接收。

这种模式适用于需要根据消息内容的不同属性精准分发给不同处理单元的情况,比如日志分类、订单状态变更通知等场景。

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值