rabbitmq篇之浅谈rabbitmq的三种交换模式
2020-03-02 本文已影响0人
writeanewworld
1.rabbitmq的三种交换模式
.direct 默认的
.topic
.fonout 最省事的
2.三种模式的路由算法思想
direct(直接匹配):
direct交换模式是rabbitmq的默认交换模式,在rabbitmq中producer产生message并不会直接进入到queue中,而是在producer与queue之间有一个exchange,exchange会与queue进行binding,并有一个binding_key,当producer将message给exchage时会生成一个routing_key(指定这个消息的路由规则,决定消息流向哪里),routing_key会匹配binding_key决定消息流向哪里。
image.png
topic(主题匹配订阅)
这里binding_key的命名有模糊匹配的意思,使用 . #来进行匹配,当与routing_key匹配上了,消息也就分发出去了
image.png
例子:rounting_key 为 “quick.orange.rabbit”将会发送到Q1和Q2中
rounting_key 为”lazy.orange.rabbit.hujj.ddd”会被投递到Q2中,#匹配0个或多个单词。
fontout(广播订阅):
这个跟routing_key没有啥关系,直接向所有的消费者发布消息,但是只有消费者将队列绑定到该路由器才能收到消息