Spring boot之消息队列
一、消息队列
点对点式:唯一的发送者和接受者,接受者不是唯一的,但是一旦消息被消费了,其他接收者就收不到消息
发布订阅式:发布者发布消息,其他人可以订阅这个消息
JMS,java Message Service 消息服务,java api,不跨语言不跨平台
两种消息模型,消息的类型支持的很多
AMQP,网络线协议,可以跨平台,跨语言,提供五种消息模型,消息模型一种
,因为需要跨平台跨语言,消息需要序列化。
spring支持
spring-jms、spring-rabbit对AMQP的支持;
需要ConnectionFactory的实现来连接消息代理;
提供JmsTemplate、RabbitTemplate来发送消息;
@JmsListener(JMS),@RabbitListener(AMQP)注解在方法上监听消息代理发布消息;
@EnableJms、@EnableRabbit开启支持
springBoot自动配置
JmsAutoConfiguration
二、RabbitMQ简介
核心:
Message:
由消息头和消息体组成,消息体是不透明的,消息头是由一系列的可选属性组成
这些属性包括routing-key(路由键),priority(相对于其他消息的优先权),
delivery—mode(支出该消息可能需要持久性存储)等。
Publisher:
消息的生产者,也是一个向交换器发布消息的客户端应用程序。
Exchange:
交换器,用来接受生产者发送的消息并将这些消息路由给服务器的队列。
有四种类型。
Queue:
消息队列,保存消息的地方。
Binding:
绑定,用于消息队列的交换器之间的关联。
Connection:
网络连接
Channel:
信道
Consumer:消费者
Virtual Host:虚拟主机,每一个vhost是是一个小的RabbitMq服务器,拥有自己的队列、交换器、绑定和权限机制。vhost是AMQP概念的基础,必须在连接时指定,RabitMq默认的vhost是/.
Broker:
表示消息队列服务器实体
来源:CSDN
作者:weixin_44786007
链接:https://blog.csdn.net/weixin_44786007/article/details/104358994