RabbitMQ
RabbitMQ
CalyeeRabbitMQ
RabbitMQ是基于Erlang(处理并发)语言开发的开源消息通信中间件,官网地址:
环境搭建
基于Docker安装RabbitMQ, 使用命令如下
1 | # 查询版本 |
1 | # linux |
1 | # win |
- 15672:RabbitMQ提供的管理控制台的端口
- 5672:RabbitMQ的消息发送处理接口
入门
架构图
其中包含几个概念:
publisher
:生产者,也就是发送消息的一方consumer
:消费者,也就是消费消息的一方queue
:队列,存储消息。生产者投递的消息会暂存在消息队列中,等待消费者处理exchange
:交换机,负责消息路由。生产者发送的消息由交换机决定投递到哪个队列。virtual host
:虚拟主机,起到数据隔离的作用。每个虚拟主机相互独立,有各自的exchange、queue
SpringAMQP
Spring的官方基于RabbitMQ提供了这样一套消息收发的模板工具,并且还基于SpringBoot对其实现了自动装配。
SpringAMQP提供了三个功能:
- 自动声明队列、交换机及其绑定关系
- 基于注解的监听器模式,异步接收消息
- 封装了RabbitTemplate工具,用于发送消息
项目结构
创建测试案例项目结构
- rabbitmq-demo: 父工厂,管理依赖
- publisher:消息推送者
- consumer:消息消费者
导入主要依赖 (项目为SpringBoot工程)
1 | <!--SpringAMQP:包含了RabbitMQ--> |
入门案例
评论
匿名评论隐私政策
✅ 你无需删除空行,直接评论以获取最佳展示效果