RabbitMQ官网提供了七种队列模型,分别是:简单队列、工作队列、发布订阅、路由模式、主题模式、RPC模式、发布者确认模式。
本文在SpringBoot+RabbitMQ环境实现"订阅模式"。
一、订阅模式
特点:
1、X代表交换机,生产者没有将消息直接发送到队列,而是先发送到了交换机。
2、订阅模式的交换机类型为fanout。
3、一个队列可以有多个消费者,但发送到队列的消息只能被其中一个消费。
二、fanout交换机
订阅模式、路由模式、主题模式,它们三者的队列结构是一模一样的,区别就在于"交换机类型的不同",交换机的类型决定了工作模式的特点。订阅模式的交换机类型是fanout,路由模式的交换机类型是direct,主题模式的交换机类型是topic,所以学习RabbitMQ的各种工作模式,掌握各类型交换机的工作特点很重要。而fanout 交换机的特点就是跟广播一样,对消息不作选择地分发给所有绑定的队列。
三、在SpringBoot中的实现