中间件系列五 RabbitMQ之Direct exchange(直连交换机)和路由

本文介绍了RabbitMQ中的Direct Exchange如何实现消息的规则路由,通过单个绑定和多个绑定的例子,展示了如何配置和使用Direct Exchange进行消息定向传递。详细讲述了生产者和消费者的代码实现,并提供了测试案例来验证路由功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 概述

上篇文章,我们通过Fanout exchange(扇型交换机)实现生产者发送一个消息,这个消息同时被传送给所有队列。但是有时我们不希望所有的消息都被所有队列接收,我们希望可以指定类型为a的消息只能被队列A接收,类型为b的消息只能被队列B,C接收。扇型交换机只能无脑地广播消息给所有的消费者,其实质是广播给所有关联的队列。
为了实现这个功能,一种是建立多个交换机,这种方式简单暴力但是不灵活。本节我们介绍使用单个直连交换机+路由实现以上功能。

本节主要内容如下:

  • 使用单个直连交换机+路由对消息进行规则路由
  • 路由绑定用法:单个绑定、多个绑定
  • direct交换机的声明和用法
  • 使用完整的代码演示以上的用法

2. 本文功能说明

本文通过如下两个例子说明绑定的用法和direct交换机的用法

2.1. 单个绑定

这里写图片描述

在上图中,有2个队列绑定到直连交换机上。队列Q1使用绑定值为orange,队列Q2绑定值为black,green。在这种情况下,如果生产者发送的消息的路由值为orange,则此消息会被路由到队列Q1。如果生产者发送的消息的路由值为blcak,green,则此消息会被路由到队列Q2。其它的消息会被丢弃

2.2. 多个绑定

这里写图片描述

我们也可以将相同的绑定值绑定到不同的队列中。如上图中,队列Q1和Q2使用的绑定值都black。如果生产者发送的消息

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值