springboot整合rabbitmq示例

一 消息队列四种模式

1 work模式

springboot整合rabbitmq示例

也称为工作模式,多劳多得,有能力的消费者能够消费更多的消息。

不需要交换机的支持,消息直接发送到队列即可。

1.1 示例

springboot整合rabbitmq示例
springboot整合rabbitmq示例

2 fanout模式

springboot整合rabbitmq示例

也称为广播模式,表如其意,消息一次发送可以经过多个队列被多个消费者共同消费。

需要交换机(图中的X)与队列进行绑定,消息发送到交换机,由交换机代理转发到与其绑定的消息队列。

2.1 示例

springboot整合rabbitmq示例
springboot整合rabbitmq示例

3 direct模式

springboot整合rabbitmq示例

带路由key的广播模式,需要交换机(图中的X),队列以及路由key(图中的error、info等)进行绑定,如此以来,消息发送者携带的路由key就会发送到相应的消息队列中,消费者消费相应的监听队列消息。

3.1 示例1

springboot整合rabbitmq示例
springboot整合rabbitmq示例

3.2 示例2

springboot整合rabbitmq示例
springboot整合rabbitmq示例

4 topic模式

springboot整合rabbitmq示例

带路由key的广播模式+通配符路由key,需要交换机(图中的X),队列以及通配符路由key(图中的lazy.*等)进行绑定,如此以来,消息发送者携带的路由key就会根据通配符规则发送到相应的消息队列中,消费者消费相应的监听队列消息。

通配符规则

①*(星号)仅代表一个单词
②#(井号)代表任意个单词

4.1 示例1

springboot整合rabbitmq示例
springboot整合rabbitmq示例

4.2 示例2

springboot整合rabbitmq示例
springboot整合rabbitmq示例

源代码地址

https://gitee.com/teajoy/springboot-rabbitmq/tree/master