SpringBoot + RabbitMQ实现延时队列详细步骤

本文详细介绍了如何使用SpringBoot和RabbitMQ实现延时队列,适用于处理如订单超时、定时推送等场景。首先介绍了RabbitMQ的基本概念和功能,然后阐述了RabbitMQ的安装过程,最后讲解了SpringBoot项目中整合RabbitMQ的步骤,包括配置文件、实体类、接收者和发送者的创建,以及测试验证。
摘要由CSDN通过智能技术生成

SpringBoot + RabbitMQ实现延时队列详细步骤

延迟队列的使用场景:
1.未按时支付的订单,30分钟过期之后取消订单;
2.给活跃度比较低的用户间隔N天之后推送消息,提高活跃度;
3.过1分钟给新注册会员的用户,发送注册邮件等。

1.Rabbitmq是什么

MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序的通信方法。应用程序通过读写出入队列的消息(针对应用程序的数据)来通信,而无需专用连接来链接它们。
RabbitMQ是一个开源的AMQP实现,服务器端用Erlang语言编写,支持多种客户端,如:Python、Ruby、.NET、Java、JMS、C、PHP、ActionScript、XMPP、STOMP等,支持AJAX。用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。
AMQP,即Advanced Message Queuing Protocol,高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。AMQP的主要特征是面向消息、队列、路由(包括点对点和发布/订阅)、可靠性、安全。

2.rabbitmq的使用过程

rabbitmq的使用过程大概如下:

  • 客户端连接到消息队列服务器,打开一个channel。
  • 客户端声明一个exchange,并设置相关属性,相关属性包括exchange的
  • 名字,exchange是否可以被持久化(持久化到磁盘),exchange是否自动删除
  • 客户端声明一个queue,并设置相关属性,相关属性包括queue的名字,
  • queue是否可以被持久化(持久化到磁盘),queue是否自动删除
  • 声明exchange和queue之间的binding关系,用唯一的key来进行绑定
  • 客户端投递消息到exchange。
  • 不同类型的exchange根据路由规则将消息分发到不同的queue中
  • 客户端监听到queue中的内容,将消息取出消费,发送ack到rabbitmq中,删除该条消息

2.安装rabbitmq

首先要安装rabbitmq和erlang插件 详细安装步骤如下:
网址: https://blog.csdn.net/m0_37034294/article/details/82839494
注意:安装url千万不要用中文命名

3.SpringBoot整合RabbitMQ

pom.xml 文件 添加依赖

 <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-amqp</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
       
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值