idea最新简单SpringBoot使用RabbitMQ延时队列小白必备
了解RabbitMQ
1.什么是MQ
-
MQ,是一种跨进程的通信机制,用于上下游传递消息。
在互联网架构中,MQ是一种非常常见的上下游“逻辑解耦+物理解耦”的消息通信服务。
使用了MQ之后,消息发送上游只需要依赖MQ,不用依赖其他服务。
为什么会产生消息列队?
- 不同进程(process)之间传递消息时,两个进程之间耦合程度过高,改动一个进程,引发必须修改另一个进程,为了隔离这两个进程,在两进程间抽离出一层(一个模块),所有两进程之间传递的消息,都必须通过消息队列来传递,单独修改某一个进程,不会影响另一个;
- 不同进程(process)之间传递消息时,为了实现标准化,将消息的格式规范化了,并且,某一个进程接受的消息太多,一下子无法处理完,并且也有先后顺序,必须对收到的消息进行排队,因此诞生了事实上的消息队列;
延时列队的使用场景?
- 订单业务:在淘宝或者京东购买东西,用户下单后未付款则30分钟后取消订单。
- 短信通知:手机用户交完话费后,几分钟之内将会收到缴费信息
2.什么是RabbitMQ(这里就做了一下简单介绍)
-
RabbitMQ是一种消息队列 ,用于常见的进程通信。支持点对点,请求应答和发布订阅模式 并且提供多种语言的支持。常见的java,c#,php都支持。
常被用在异步处理,应用解耦。流量消锋等复杂的业务场景中。和java的kafka一样都属于消息中间件。
下载地址:
进入RabbitMQ官网
1.第一步
-
第二步
-
下载好后不要着急安装RabbitMQ,我们这里还需要安装Erlang
-
下载地址:http://www.erlang.org/download/otp_win64_17.3.exe
-
安装步骤
- 步骤一
- 步骤二
- 步骤三
- 步骤四
- 安装完成
-
现在安装RabbitMQ
- 步骤一
- 步骤二
- 步骤三
- 安装完成
-
启动RabbitMQ管理工具
-
开始菜单 — 最新添加 — 展开 — 选中双击
-
输入命令:rabbitmq-plugins enable rabbitmq_management
-
效果如果图
-
在浏览器中输入地址查看:http://127.0.0.1:15672/
出现次页面代表成功,默认用户和密码都是guest/ guest -
若不出现此页面,就是安装失败了,不要慌,多半问题在系统用户名必须是中文(放心有解决办法):https://blog.csdn.net/weixin_41758046/article/details/89489141
-
-
-
SpringBoot整合RabbitMQ
1.添加依赖
-
pom.xml中添加 spring-boot-starter-amqp的依赖
<!-- spring-boot-starter-amqp的依赖 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-amqp</artifactId> </dependency>
-
其他依赖
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> <exclusions> <exclusion> <groupId>org.junit.vintage