RabbitMQ-headers连接方式详解

RabbitMQ-headers 链接方式:他是一种交换机 通过 Key-value 匹配queues 。也是忽略routingKey的一种路由方式。

一、首先看下这个图片:

RabbitMQ-headers连接方式详解

  • any: 只要在发布消息时携带的有一对键值对headers满足队列定义的多个参数arguments的其中一个就能匹配上,注意这里是键值对的完全匹配,只匹配到键了,值却不一样是不行的;

  • all:在发布消息时携带的所有Entry必须和绑定在队列上的所有Entry完全匹配。all 也就是Q2所有的都key-value都匹配上才可以匹配到Consumer1队列。

 

RabbitMQ-headers连接方式详解

 

 

二、

我们建立了一个test-epoicy-exchange 交换机,类型是heands。红色框中表示alternate-exchange 备用交换机,假如key和value匹配不上就走

test-epoicy-Altexchange 这个备用交换机。

RabbitMQ-headers连接方式详解

我们打开这个test-epoicy-exchange 交换机看下详情:假如key-value都匹配不上的话就走test-epoicy-Altexchange 这个交换机。

假如:匹配上flag:ecargo就走test-ecargoEpolicy 这个队列

RabbitMQ-headers连接方式详解