rabbitmq应用场景
1、点对点
1)、最简单
2)、work
prefetch=1:同一条任务只能被一个消费端获取并处理。
2、广播(发布/订阅)
1)、fanout:向所有消费端广播
2)、direct:根据不同的消息向指定消费端发送
当error消息时,发送给queue1;当info、error、warning时发送给queue2。注意:这里error向C1和C2都发消息。
注意:
当发送的消息是black时,与type=fanout是相同的,即向所有消费端发送。
3)、topic
与direct的区别是支持模糊匹配。
*:只匹配1个词
#:可匹配0-多个词
如:发送消息:
quick.orange.rabbit,则C1/C2都会收到
lazy.orange.elephant,则C1/C2都会收到
quick.orange.fox,只有C1收到
lazy.brown.fox,只有C2收到
lazy.pink.rabbit:只有C2收到,而且只收到1次。
quick.brown.fox:没有消费者收到,会被丢弃。