RabbitMQ-headers 链接方式:他是一种交换机 通过 Key-value 匹配queues 。也是忽略routingKey的一种路由方式。
一、首先看下这个图片:
-
any: 只要在发布消息时携带的有一对键值对headers满足队列定义的多个参数arguments的其中一个就能匹配上,注意这里是键值对的完全匹配,只匹配到键了,值却不一样是不行的;
-
all:在发布消息时携带的所有Entry必须和绑定在队列上的所有Entry完全匹配。all 也就是Q2所有的都key-value都匹配上才可以匹配到Consumer1队列。
二、
我们建立了一个test-epoicy-exchange 交换机,类型是heands。红色框中表示alternate-exchange 备用交换机,假如key和value匹配不上就走
test-epoicy-Altexchange 这个备用交换机。
我们打开这个test-epoicy-exchange 交换机看下详情:假如key-value都匹配不上的话就走test-epoicy-Altexchange 这个交换机。
假如:匹配上flag:ecargo就走test-ecargoEpolicy 这个队列