SpringBoot

概述:

大多应用中,可通过消息服务中间件提升系统异步通信扩展解耦能力


场景举例:
SpringBoot_消息_JMS&AMQP简介


SpringBoot_消息_JMS&AMQP简介


概念:

消息代理(message broker): 消息发送者发送消息以后,将由消息代理接管
目的地(destination): 消息代理保证消息传递到指定目的地

形式:

目的地形式: 说明:
队列(queue): 点对点消息通信(point-to-point) 消息发送者发送消息,消息代理将其放入一个队列中,消息接收者从队列中获取消息内容,消息读取后被移出队列;
消息只有唯一的发送者和接受者,但并不是说只能有一个接收者;
当存在多个接收者等待接收消息时,只要其中一个接收者接收消息成功,其他接收者无法再从消息队列中获取消息;
主题(topic): 发布(publish)/订阅(subscribe)消息通信 发送者(发布者)发送消息到主题,多个接收者(订阅者)监听(订阅)这个主题,那么就会在消息到达时同时收到消息;

JMS: Java Message Service:JAVA消息服务 基于JVM消息代理的规范,ActiveMQHornetMQJMS的实现;
AMQP: Advanced Message Queuing Protocol:高级消息队列协议 另外一种消息代理的规范,兼容JMS;
RabbitMQAMQP的实现;

SpringBoot_消息_JMS&AMQP简介


Spring提供的支持:

JMS: AMQP:
spring-jms 提供支持 spring-rabbit 提供支持
需要ConnectionFactory的实现来连接消息代理 需要ConnectionFactory的实现来连接消息代理
JmsTemplate来发送消息 RabbitTemplate来发送消息
@JmsListener 注解在方法上监听消息代理发布的消息 @RabbitListener 注解在方法上监听消息代理发布的消息
@EnableJms 开启支持 @EnableRabbit 开启支持
JmsAutoConfiguration 提供自动配置 RabbitAutoConfiguration 提供自动配置

相关文章: