🌈🌈🌈🌈🌈🌈🌈🌈
欢迎关注公众号(通过文章导读关注),发送笔记
可领取 Redis、JVM 等系列完整 pdf!
【11来了】文章导读地址:点击查看文章导读!
🍁🍁🍁🍁🍁🍁🍁🍁
通过基于电商场景的 RocketMQ 实战,你可以学到哪些方面的内容?
这里讲解一下在电商 APP 中,用户购买一个商品的完整业务流程
对于一个的电商系统来说,常包括营销系统、商品系统、履约系统、交易系统、库存系统、支付系统:
锁定库存
营销系统中,还有一个业务场景就是会发起一些促销活动,推送给用户
在营销系统中,主要是将营销消息定时发送给推送系统,定时任务使用 xxljob 来完成,整体流程如下:
为什么要使用 xxljob 呢?
因为营销定时推送的任务在数据库中存储一份,那么推送系统可能是有多个的,多个推送系统拉取到了同一份推送任务,每个节点怎么知道自己执行哪些任务呢,这就需要使用 xxljob 分布式任务调度平台
营销系统中 RocketMQ 的应用场景:
在推送系统中,是需要调用第三方推送平台来去给用户推送短信、邮箱等等信息,但是第三方推送平台推送的频率肯定是有一定限制的,而推送系统中对用户的推送量是非常大的,那么为了平衡两方的并发度差距,引入了 RocketMQ 来进行异步的一个推送
先将大量推送消息放入 RocketMQ 中,再根据第三方推送平台的速度进行消费
这里还引入了 xxljob 去执行定时推送的一个任务,因为有些给用户推送是定时推送的,那么这些定时任务会去落到数据库中,而给用户推送的定时任务的体量也是相当大的,毕竟有千万级用户,那么肯定就需要考虑到一个分片的问题,会部署 多个推送系统
,每个推送系统负责一部分用户的推送,这样可以大幅提升用户的推送速度,因此通过 xxljob 去进行分布式的调度,让每台推送系统负责一部分的推送任务