RabbitMQ的应用场景

微信扫一扫,分享到朋友圈

RabbitMQ的应用场景

1. 异步处理

用户注册后,需要发注册邮件和注册短信,传统的方式:串行和并行。

串行:用户注册信息写入数据库 ——>  发送邮件 ——-> 发送短信 —–>注册成功,用户使用

并行:用户注册信息写入数据库 ——>  发送邮件 / 发送短信——> 注册成功,用户使用

因为邮件和短信并不是注册所必需的,即使不接收邮件和短信,用户也可以进行操作了。

RMQ:用户注册信息写入数据库 ——>  写入 消息队列
/ 注册成功,用户使用 ——-> 发送邮件 —–> 发送短信

2. 应用解耦

双11购物节,用户下单,订单系统需要通知库存系统,传统的做法是订单系统调用库存系统的接口, 缺点:
当库存系统出现故障,订单就会失败,会损失大量的订单。 

传统:订单系统 —-调用库存接口—–> 库存系统

RMQ:订单系统  — 写入消息
—-> 消息队列
<—– 订阅消息
–库存系统

3. 流量削峰

秒杀活动,一般因为流量过大,导致某个应用挂掉,为了解决这个问题, 一般在应用前端加入消息队列。

RMQ:用户请求— 写入消息
—> 消息队列
—- 根据规则读取秒杀请求
—> 秒杀业务处理系统

1、 用户的请求,服务器收到之后,会加入到消息队列,加入消息队列的消息达到最大值,直接抛弃用户请求,或跳转到错误页面。

2、秒杀业务根据消息队列的请求,再做后续处理。

微信扫一扫,分享到朋友圈

RabbitMQ的应用场景

综述|核心开发者全面解读Pytorch内部机制

上一篇

webstorm单标签设置成双标签展开解决iview中col展开问题

下一篇

你也可能喜欢

RabbitMQ的应用场景

长按储存图像,分享给朋友