4.交换机 Exchange 分类
4.0.创建队列Queue
在 操作界面
分别 添加 fivemall.goods
fivemall.order
fivemall.admin
yuan.admin
四个队列
4.1.Direct Exchange(直接交换机)
该类型的交换器将所有发送到该交换器的消息被转发到RoutingKey指定的队列中,也就是说路由到BindingKey和RoutingKey完全匹配的队列中。
4.1.1.创建直接交换机Direct Exchange
在 操作界面 新添加 直接交换机, 起名叫 exchange.direct
4.1.2.绑定队列 binding
点击 交换机的 名字, 打开操作界面
绑定队列并设置路由键 , 这里设置成与队列同名, 与4个队列同时绑定
4.1.3.发送消息
4.1.4.查看接收
在 队列中查看只有一个队列接收到消息
点击 队列名, 打开操作界面
4.1.5.清除消息
先 选择 确认模式(Ack Mode) 为 拒绝重新排队 (Reject requeue false)
也就是 消息被读取后, 不会再回到队列
再 点击 读取消息 ( Get Message(s) )
这样 消息 被 读取后 就 消除了
4.2.Fanout Excange(扇出交换机 / 广播)
将消息发送至所有的队列, 相当于广播
4.2.1.创建扇出交换机Fanout Excange
创建 Type类型 为 fanout 的交换机 , 命名为 exchange.fanout
4.2.2.绑定队列 binding
点击绑定 fivemall.goods
fivemall.order
yuan.admin
三个队列, 并分别设置与队列同名的路由键
4.2.3.发送消息
发送消息时, 设置 路由键 为 fivemall.goods
4.2.4.查看接收
查看队列信息时, 可以发现 绑定 的 fivemall.goods
fivemall.order
yuan.admin
三个队列 都 接收到信息
4.3.Topic Exchange(主题交换机)
设置路由键时可以使用通配符, # 代表任意个单词 (包括 0 个, 1 个 或者 多个), * 代表 最少一个单词 ( 包括 1 个 , 多个)
4.3.0.增加一个队列
增加一个新的队列就叫 fivemall
4.3.1.创建主题交换机Topic Excange
创建 Type类型 为 topic 的交换机 , 命名为 exchange.topic
4.3.2.绑定队列 binding
使用 fivemall.# 为路由键绑定 fivemall
fivemall.order
fivemall.goods
使用 *.admin 为路由键绑定 fivemall.admin
yuan.admin
4.3.3.发送接收
4.3.3.1.以 fivemall.goods 为路由键 发送
接收信息的队列为 fivemall
fivemall.order
fivemall.goods
三个队列 , 因为它们的绑定键为 fivemall.#
分别清除每个队列得到的消息
4.3.3.2.以 abc.admin 为路由键 发送
接收信息的队列为 fivemall.admin
yuan.admin
两个队列 , 因为它们的绑定键为 *.admin
分别清除每个队列得到的消息
4.3.3.3.以 fivemall.admin 为路由键 发送
五个队列都能收到信息
4.4.Header Exchange
Headers交换器允许你匹配AMQP消息的Header而非路由键,除此之外Headers交换器和Direct交换器完全一致,但性能却很差,几乎用不到,忽略。