基于电商场景的高并发RocketMQ实战-电商的业务闭环知识、营销系统的技术架构

2023-12-28 16:23:57

🌈🌈🌈🌈🌈🌈🌈🌈

欢迎关注公众号(通过文章导读关注),发送笔记可领取 Redis、JVM 等系列完整 pdf!
【11来了】文章导读地址:点击查看文章导读!
🍁🍁🍁🍁🍁🍁🍁🍁

基于电商场景RocketMQ实战

通过基于电商场景的 RocketMQ 实战,你可以学到哪些方面的内容?

  • RocketMQ 的应用场景
  • RocketMQ 项目中常见的一些问题
  • RocketMQ 的一些常用解决方案
  • 如何在生产环境中使用 RocketMQ
  • 为什么使用 RocketMQ
  • 如何使用 RocketMQ 进行性能优化

电商的业务闭环知识讲解

这里讲解一下在电商 APP 中,用户购买一个商品的完整业务流程

对于一个的电商系统来说,常包括营销系统、商品系统、履约系统、交易系统、库存系统、支付系统:

  1. 用户购买一个商品,先去将商品添加购物车,并且选择商品提交订单
  2. 提交订单后,库存系统会 锁定库存
  3. 交易系统将订单写入数据库,并且支付系统向第三方支付平台发起预支付的动作,生成支付流水单
  4. 并且提醒用户进行支付操作,用户发起支付请求,向第三方支付平台进行支付
  5. 支付成功后,支付系统向 MQ 发送【支付成功】消息,交易系统对【支付成功】消息进行消费,消费中会去通知履约系统对商品进行发货,以及用户收货后的一些操作

营销系统中,还有一个业务场景就是会发起一些促销活动,推送给用户

在这里插入图片描述

营销系统的技术架构与工程结构讲解

在营销系统中,主要是将营销消息定时发送给推送系统,定时任务使用 xxljob 来完成,整体流程如下:

为什么要使用 xxljob 呢?

因为营销定时推送的任务在数据库中存储一份,那么推送系统可能是有多个的,多个推送系统拉取到了同一份推送任务,每个节点怎么知道自己执行哪些任务呢,这就需要使用 xxljob 分布式任务调度平台

营销系统中 RocketMQ 的应用场景:

在推送系统中,是需要调用第三方推送平台来去给用户推送短信、邮箱等等信息,但是第三方推送平台推送的频率肯定是有一定限制的,而推送系统中对用户的推送量是非常大的,那么为了平衡两方的并发度差距,引入了 RocketMQ 来进行异步的一个推送

先将大量推送消息放入 RocketMQ 中,再根据第三方推送平台的速度进行消费

这里还引入了 xxljob 去执行定时推送的一个任务,因为有些给用户推送是定时推送的,那么这些定时任务会去落到数据库中,而给用户推送的定时任务的体量也是相当大的,毕竟有千万级用户,那么肯定就需要考虑到一个分片的问题,会部署 多个推送系统,每个推送系统负责一部分用户的推送,这样可以大幅提升用户的推送速度,因此通过 xxljob 去进行分布式的调度,让每台推送系统负责一部分的推送任务

在这里插入图片描述

文章来源:https://blog.csdn.net/qq_45260619/article/details/135263604
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。