首页 > 其他 > 详细

Rabbitmq之exchange

时间:2020-03-08 11:02:09      阅读:55      评论:0      收藏:0      [点我收藏+]

  Exchange有多种类型,最常用的是Direct/Fanout/Topic三种类型。

  1.Direct exchange

  完全根据key进行投递的叫做Direct交换机,例如,绑定时设置了routing key为”abc”,那么客户端提交的消息,只有设置了key为”abc”的才会投递到队列。

  技术分享图片

Message中的“routing key”如果和Binding中的“binding key”一致, Direct exchange则将message发到对应的queue中

2.Fanout exchange

  Fanout交换机,它采取广播模式,一个消息进来时,投递到与该交换机绑定的所有队列。

技术分享图片

 

 每个发到Fanout类型Exchange的message都会分到所有绑定的queue上去。

3.Topic exchange 

       对key进行模式匹配后进行投递的叫做Topic交换机,符号”#”匹配一个或多个词,符号”*”匹配正好一个词。例如”abc.#”匹配”abc.def.ghi”,”abc.*”只匹配”abc.def”。

技术分享图片

 4.Headers exchange 

 headers类型的Exchange不依赖于routing key与binding key的匹配规则来路由消息,而是根据发送的消息内容中的headers属性进行匹配。 

   在绑定Queue与Exchange时指定一组键值对;当消息发送到Exchange时,RabbitMQ会取到该消息的headers(也是一个键值对的形式),对比其中的键值对是否完全匹配Queue与Exchange绑定时指定的键值对;如果完全匹配则消息会路由到该Queue,否则不会路由到该Queue。当“x匹配”参数被设置为“any”时,只有一个匹配的标题值就足够了。或者,将“x匹配”设置为“all”命令所有的值都必须匹配; 

Rabbitmq之exchange

原文:https://www.cnblogs.com/llwxhn/p/12441351.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!