Springboot与RabbitMQ简单整合

消息队列

jms 即Java消息服务(Java Message Service) 只能用于java语言和java平台
amqp 即Advanced Message Queuing Protocol
rabbitmq就是amqp的实现

消息队列用于异步处理时,能够缩短用户的等待时间,因为有的操作可以不直接执行,比如:一名用户发送注册信息,需要将注册信息传入数据库,发送注册邮件,发送注册短信 。
level1:依次执行,花费时间最长
level2:并发执行,将发送邮件和发送短信同步执行
level3:使用消息队列,只需要先执行第一步然后将后面两个动作加入消息队列中,即可向用户做出响应,后两步通过异步读取来执行操作
还能用于应用解耦和流量削峰

基本模型:

在这里插入图片描述

整合RabbitMQ

1.用docker在虚拟机中安装rabbitmq

docker pull registry.docker-cn.com/library/rabbitmq:3-management

3-management代表拥有客户端

2.运行rabbitmq

docker run -d -p 5672:5672 -p 15672:15672 --name myrabbitmq 镜像id

-d 后台运行 -p 暴露端口 5672是客户端和rabbitmq通信的端口、15672是管理界面访问web页面的端口、–name 起别名

3.查看进程

docker ps

访问rabbitmq:虚拟机ip:15672
username:guest password:guest (默认的用户名和密码)

在网页上登录管理界面,能够添加节点
direct:单点exchange
fanout:广播exchange
topic:匹配exchange,#能匹配0个或多个,*能匹配一个

springboot和rabbitmq整合
用springboot初始化向导,引入web和integration的rabbitmq

在application.properties中配置

spring.rabbimq.host=ip地址
spring.rabbimq.host=guest
spring.rabbimq.host=guest

自动配置:

  1. RabbitAutoConfiguration
  2. 有自动配置了连接工厂ConnectionFactory
  3. RabbitProperties封装了RabbitMQ的配置
  4. RabbitTemplate:给RabbitMQ发送和接收消息
  5. AmqpAdmin:RabbitMQ系统管理功能组件
  6. @EnableRabbit和@RabbitListener 监听消息队列中的内容
@EnableRabbit   //开启基于注解的RabbitMQ模式

AmqpAdmin能够创建和删除exchange或者queue

ps:以上均为通过网络学习后的总结,如有侵权,请联系我,定及时修改或删除。如想转载,请注明出处。

猜你喜欢

转载自blog.csdn.net/weixin_43797872/article/details/85225608