zoukankan      html  css  js  c++  java
  • Rabbitmq之exchange

      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”命令所有的值都必须匹配; 

  • 相关阅读:
    怎么在一个线程结束后回到主线程?
    iOS KVC & KVO
    iOS添加到购物车的简单动画效果
    如何在键盘出现时滚动表格,以适应输入框的显示
    iOS开发之多媒体播放
    算法的时间复杂度(一)
    SPI通信
    三级管的原理
    stm32之595(spi芯片)
    stm32之Systick(系统时钟)
  • 原文地址:https://www.cnblogs.com/llwxhn/p/12441351.html
Copyright © 2011-2022 走看看