rabbitMQ的几种模式

RabbitMQ提供了四种Exchange一刻丝称子(交换)模式:fanout佛闹特(分列),direct滴软科特(直系),topic他陪克(主题),header 憨刀(头部)。

一. Fanout Exchange(分列交换模式)

  

  

  所有发送到Fanout(佛闹特)Exchange(一刻丝称子 )的消息都会被转发到与该Exchange 绑定(Binding)的所有Queue上。

  Fanout Exchange  不需要处理RouteKey(路径key) 。只需要简单的将队列绑定到exchange 上。这样发送到exchange的消息都会被转发到与该交换机绑定的所有队列上。类似子网广播,每台子网内的主机都获得了一份复制的消息。

  所以,Fanout Exchange 转发消息是最快的。

二. Direct Exchange(直系模式)

  

  所有发送到Direct(滴软可桃) Exchange的消息被转发到RouteKey中指定的Queue。

  Direct模式,可以使用rabbitMQ自带的Exchange:default Exchange 。所以不需要将Exchange进行任何绑定(binding)操作 。消息传递时,RouteKey必须完全匹 配,才会被队列接收,否则该消息会被抛弃。

 三. Topic Exchange

  所有发送到Topic(塔佩克)Exchange的消息被转发到所有关心RouteKey中指定Topic的Queue上,

  Exchange 将RouteKey 和某Topic 进行模糊匹配。此时队列需要绑定一个Topic。可以使用通配符进行模糊匹配,符号“#”匹配一个或多个词,符号“*”匹配一个词。因此“log.#”能够匹配到“log.info.oa”,但是“log.*” 只会匹配到“log.error”。

 

posted @ 2019-06-22 14:58  慕容小拽  阅读(1773)  评论(0编辑  收藏  举报