2. 为什么要使用 RabbitMQ?

简介: 2. 为什么要使用 RabbitMQ?

在项目中有异步、解耦、销峰的作用:

异步:当前端获取用户订单信息的时候,会请求后端的订单创建接口。这个订单创建接口并不直接请求订单服务,而是先生成一个唯一订单编号,再组装一个订单消息发送给 RabbitMQ,然后返回唯一订单编号给前端。前端根据唯一订单编号轮询地访问订单状态接口获取订单状态,如果订单创建成功,则拉起支付界面引导用户付费。

解耦:当用户下单成功时会给用户发送一个成功下单的消息,在没有用的消息队列的时候,我们是直接调用给用户发送短信的这个接口,如果说这个接口出现了问题或者是调用这个接口的运营商出现了问题,这时候的话我们的系统就会被阻塞到,一旦下单成功的短信发不出去了,那这个订单系统就是不完整的。所以这里用 RabbitMQ 消息队列来进行解耦来解决这种问题。

销峰:用消息队列还有削锋的作用,利用消息队列先进先出的特点,当项目中出现秒杀的情况时,并发量比较大,如果一条一条处理的话,无论是系统还是运营商那边,压力都是扛不住的,不利于系统的操作,所以这时候用消息队列将大量涌进来的订单先积压,然后按系统能力来逐个解决。

RabbitMQ 消息队列参考一文:

面试题:Kafka、ActiveMQ、RabbitMQ、RocketMQ 有什么优缺点 (qq.com)

相关实践学习
快速体验阿里云云消息队列RocketMQ版
本实验将带您快速体验使用云消息队列RocketMQ版Serverless系列实例进行获取接入点、创建Topic、创建订阅组、收发消息、查看消息轨迹和仪表盘。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
相关文章
|
SQL 安全 算法
网络安全与信息安全的全面解析:应对漏洞、加密技术及提升安全意识的策略
本文深入探讨了网络安全和信息安全的重要性,详细分析了常见的网络安全漏洞以及其利用方式,介绍了当前流行的加密技术及其应用,并强调了培养良好安全意识的必要性。通过综合运用这些策略,可以有效提升个人和企业的网络安全防护水平。
|
消息中间件 容器
【MQ系列】查看RabbitMQ的版本号
如果上述报错,则试试下面的方法。
1762 0
【MQ系列】查看RabbitMQ的版本号
|
JavaScript 前端开发
如何在JS中声明一个数组
如何在JS中声明一个数组
289 0
|
JavaScript 前端开发 开发者
Vue执行流程及渲染解析
【10月更文挑战第2天】
238 58
|
机器学习/深度学习 存储 人工智能
新功能发布!AllData数据中台核心菜单汇总
杭州奥零数据科技有限公司成立于2023年,专注于数据中台业务,维护开源项目AllData并提供商业版解决方案。AllData提供数据集成、存储、开发、治理及BI展示等一站式服务,支持AI大模型应用,助力企业高效利用数据价值。
新功能发布!AllData数据中台核心菜单汇总
|
消息中间件 存储 Apache
探索 RocketMQ:企业级消息中间件的选择与应用
RocketMQ 是一个高性能、高可靠、可扩展的分布式消息中间件,它是由阿里巴巴开发并贡献给 Apache 软件基金会的一个开源项目。RocketMQ 主要用于处理大规模、高吞吐量、低延迟的消息传递,它是一个轻量级的、功能强大的消息队列系统,广泛应用于金融、电商、日志系统、数据分析等领域。
1182 0
探索 RocketMQ:企业级消息中间件的选择与应用
|
UED
如何通过 Webpack 实现代码分割?
如何通过 Webpack 实现代码分割?
388 0
|
存储 弹性计算 对象存储
ECS快照问题之备份ECS快照失败如何解决
阿里云ECS用户可以创建的一个虚拟机实例或硬盘的数据备份,用于数据恢复和克隆新实例;本合集将指导用户如何有效地创建和管理ECS快照,以及解决快照过程中可能遇到的问题,确保数据的安全性和可靠性。
|
Docker 容器
docker设置国内镜像源
docker设置国内镜像源
37580 5
|
存储 开发框架 前端开发
循序渐进VUE+Element 前端应用开发(14)--- 根据ABP后端接口实现前端界面展示
循序渐进VUE+Element 前端应用开发(14)--- 根据ABP后端接口实现前端界面展示