基于电商场景的高并发RocketMQ实战-电商的业务闭环知识、营销系统的技术架构
🌈🌈🌈🌈🌈🌈🌈🌈
欢迎关注公众号(通过文章导读关注),发送笔记
可领取 Redis、JVM 等系列完整 pdf!
【11来了】文章导读地址:点击查看文章导读!
🍁🍁🍁🍁🍁🍁🍁🍁
基于电商场景RocketMQ实战
通过基于电商场景的 RocketMQ 实战,你可以学到哪些方面的内容?
- RocketMQ 的应用场景
- RocketMQ 项目中常见的一些问题
- RocketMQ 的一些常用解决方案
- 如何在生产环境中使用 RocketMQ
- 为什么使用 RocketMQ
- 如何使用 RocketMQ 进行性能优化
电商的业务闭环知识讲解
这里讲解一下在电商 APP 中,用户购买一个商品的完整业务流程
对于一个的电商系统来说,常包括营销系统、商品系统、履约系统、交易系统、库存系统、支付系统:
- 用户购买一个商品,先去将商品添加购物车,并且选择商品提交订单
- 提交订单后,库存系统会
锁定库存
- 交易系统将订单写入数据库,并且支付系统向第三方支付平台发起预支付的动作,生成支付流水单
- 并且提醒用户进行支付操作,用户发起支付请求,向第三方支付平台进行支付
- 支付成功后,支付系统向 MQ 发送【支付成功】消息,交易系统对【支付成功】消息进行消费,消费中会去通知履约系统对商品进行发货,以及用户收货后的一些操作
营销系统中,还有一个业务场景就是会发起一些促销活动,推送给用户
营销系统的技术架构与工程结构讲解
在营销系统中,主要是将营销消息定时发送给推送系统,定时任务使用 xxljob 来完成,整体流程如下:
为什么要使用 xxljob 呢?
因为营销定时推送的任务在数据库中存储一份,那么推送系统可能是有多个的,多个推送系统拉取到了同一份推送任务,每个节点怎么知道自己执行哪些任务呢,这就需要使用 xxljob 分布式任务调度平台
营销系统中 RocketMQ 的应用场景:
在推送系统中,是需要调用第三方推送平台来去给用户推送短信、邮箱等等信息,但是第三方推送平台推送的频率肯定是有一定限制的,而推送系统中对用户的推送量是非常大的,那么为了平衡两方的并发度差距,引入了 RocketMQ 来进行异步的一个推送
先将大量推送消息放入 RocketMQ 中,再根据第三方推送平台的速度进行消费
这里还引入了 xxljob 去执行定时推送的一个任务,因为有些给用户推送是定时推送的,那么这些定时任务会去落到数据库中,而给用户推送的定时任务的体量也是相当大的,毕竟有千万级用户,那么肯定就需要考虑到一个分片的问题,会部署 多个推送系统
,每个推送系统负责一部分用户的推送,这样可以大幅提升用户的推送速度,因此通过 xxljob 去进行分布式的调度,让每台推送系统负责一部分的推送任务
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!