RabbitMQ路由类型

关于RabbitMQ的Exchange类型html

参考地址:《RabbitMQ学习系列(四): 几种Exchange 模式git

github地址:https://github.com/ChenWes/RabbitMQDemogithub

相关学习笔记:http://note.youdao.com/noteshare?id=7032b8a9e33c80880aa13b36f5d145b7&sub=7C55EC68CCB0442B9872A0345B92A6D2学习

 

  • 手动测试过,Direct和Fanout两种路由模式下,Queue均可以有多个接收者,若是有多个接收者监控同一个Queue,那么会轮流将消息发送至接收者
  • Fanout路由模式下,关键在于路由,若是将路由与多个Queue进行绑定,则会多个Queue的接收者同时收到消息(同一个Queue多个接收者的状况依然会存在)

 

Direct Exchange:测试

全部发送到Direct Exchange的消息被转发到RouteKey中指定的Queue
注意:Direct模式能够使用RabbitMQ自带的Exchange:default Exchange,因此不须要将Exchange进行任何的绑定(binding)操做,消息传递时,RouteKey必须彻底匹配才会被队列接收,不然该消息会被抛弃url

 

 


 

Fanout Exchange:spa

不处理路由键,只须要简单的将队列绑定到交换机上
发送到交换机的消息都会被转发到与该交换机绑定的全部队列上
Fanout交换机转发消息是最快的.net

 


 

Topic Exchange:htm

全部发送到Topic Exchange的消息被转发到全部关心RouteKey中指定Topic的Queue上
Exchange将RouteKey和某Topic进行模糊匹配,此时队列须要绑定一个Topic
注意:能够使用通配符进行模糊匹配
符号“#”匹配一个或多个词
符号“*”匹配很少很多一个词(只能匹配一个词)
例如“log.#”能匹配到“log.info.oa”
"log.*"只会匹配到"log.error"blog

相关文章
相关标签/搜索