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:没有消费者收到,会被丢弃。

原文地址:https://www.cnblogs.com/yaoyuan2/p/10819249.html