rabbitMQ中交换机类型

1. FANOUT(扇型交换机)
2. TOPIC(主题交换机)
3. DIRECT(直连交换机)
4. HEADERS(头交换机)
5. SYSTEM

BindingKey(绑定键):交换机与队列进行绑定,建立Exchange与Queue之间的关系。
RoutingKey(路由键):Producer发送消息与路由键给Exchange,Exchange交换器就会根据RoutingKey路由键去匹配队列(路由键 与交换器的匹配),如何则将该消息路由到绑定的Queue。

FANOUT(扇型交换机):type="fanout"当一个message发送到扇形交换机X上时,则扇形交换机X会将消息分别发送给所有绑定到X上的消息队列。扇形交换机将消息路由给绑定到自身的所有消息队列,也就是说路由键在扇形交换机里没有作用,故消息队列绑定扇形交换机时,路由键可为空。这个模式类似于广播。Fanout交换机转发消息是最快的。
在这里插入图片描述
Direct Exchange(直连交换机):type="direct"需要同时匹配bindKey和routingKey,先找出绑定的队列,然后再判断routekey,将一个名为Q的消息队列与某个名为X的直连交换机通过值为R的路由键绑定在一起,当一个message和路由键R发送到直连交换机X上时,直连交换机X会把message根据路由键R分发到相匹配的Q队列。这种模式类似于一对一,即完全匹配。

在这里插入图片描述

Topic Exchange(主题交换机):type="topic"需要同时匹配bindKey和routingKey,先找出绑定的队列,然后再判断routekey,主题交换机是一种发布/订阅的模式,结合了直连交换机与扇形交换机的特点。相比Direct增加了一些模糊匹配,*:匹配一个词,#:匹配0个或多个词。
在这里插入图片描述

Headers Exchange(头交换机):头交换机类似与主题交换机,但是却和主题交换机有着很大的不同。主题交换机使用路由键来进行消息的路由,而头交换机它不依赖与bindingKey和routingKey,而是在绑定队列与交换器的时候指定一个键值对,使用消息属性来进行消息的分发,通过判断消息头的值能否与指定的绑定相匹配来确立路由规则。在头交换机里有一个特别的参数”x-match”,当”x-match”的值为“any”时,只需要消息头的任意一个值匹配成功即可,当”x-match”值为“all”时,要求消息头的所有值都需相等才可匹配成功。
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值