赞
踩
参考图
Direct模式就是指定队列模式,消息来了,只发给指定的Queue,其他Queue都收不到。
simon、simon.emps、simon.news、guojiawei.news
创建direct交换机成功:
四个队列均绑定到了exchange.direct交换器上。
direct交换机是完全匹配、单播模式,消息中的路由键(routing key)如果和Binding中的binding key一致,交换机就将消息发到对应的队列中。路由键与队列名完全匹配。
案例中:发送给direct.exchange交换机的消息,指定路由键routing key = simon.emps。所以该消息需要完全匹配到绑定时Routing key为simon.emps的队列。所以只有simon.emps的队列读到了消息。
fanout模式是广播模式,消息来了,就会发送给所有的队列。
绑定的四个队列都接收到了消息
每个发到fanout类型交换机的消息都会被分到所有绑定的队列上去。fanout交换器不处理路由键,只是简单的将队列绑定到交换器上。fanout类型转发消息是最快的。
案例中:往exchange.fanout交换器发送消息,指定了Routing key = simon。但是消息发送到了队列名为simon、simon.emps、simon.news、guojiawei.news四个队列上,其中只有simon队列绑定时指定的Routing key为simon。所有fanout类型的交换器不处理路由键,就是全部广播。
结果:
四个队列都能接收到。
simon.news既能匹配到simon.#又能匹配到*.news
结果,匹配到了simon.#的路由
topic交换器通过模式匹配分配消息的路由键属性,将路由键和某个模式进行匹配。
会识别两个通配符,#匹配0个或多个单词,*匹配一个单词。
headers匹配AMQP消息的header而不是routing key,headers交换器和direct交换器完全一致,但是性能差很多,目前几乎不用了。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。