RabbitMQ是一款开源的,Erlang编写的,基于AMQP协议的,消息中间件;

一、RabbitMQ组件和工作原理

解耦、异步、削峰;

RabbitMQ是一个由erlang开发的AMQP(Advanved Message Queue Protocol)的开源实现。

二、消息服务中两个核心概念

消息代理:Message Broker;

目的地: Destination

Broker 是指一个或多个 erlang node 的逻辑分组,且 node 上运行着 RabbitMQ 应用程序。

cluster 是在 broker 的基础之上,增加了 node 之间共享元数据的约束。

三、消息队列主要有两种形式的目的地

1、队列(Queue):点对点消息通信(point-to-point)

2、主题(Topic):发布(PUBLISH) / 订阅(SUBSCRIBE)消息通信

四、点对点式与发布订阅式

五、JMS(Java Message Service) JAVA消息服务

基于JVM消息代理的规范,例如ActiveMQ

六、AMQP 高级消息队列协议

兼容JMS,例如RabbitMQ

七、JMS & AMQP  功能对比

(二) JMS与AMQP 基本简介

八、Spring支持

spring-jms 提供了对JMS的支持

spring-rabbitmq提供了对AMQP的支持

需要ConnectionFactory的实现连接消息代理

提供JmsTemplate、RabbitTemplate发送消息

@JmsListener(JMS) @RabbitListener(AMQP) 注解在方法上监听消息代理发布的消息

@EnableJms @EnableRabbit开启支持

 

九、Spring Boot自动配置

JmsAutoConfiguration

RabbitAutoConfiguration

 

 

相关文章: