9、抢红包
...Less than 1 minute
9、抢红包
一、需求分析
- 节假日发红包抢红包,高并发业务
- 一个大红包分为多个小红包
- 每个人只可以抢一次,抢完一个就不能再抢,直到总数为0
- 红包过期,红包退回
二、问题点
拆分算法如何
每个人只可以抢一次,次数限制
原子性,没抢到一个红包就要减少一个库存
三、架构设计
- 发红包
- 拆分红包
- 金额总和为红包金额
- 每个人都可以抢到红包
- 保证每个人的金额几率相等
- 拆分红包
- 抢红包
- 记红包
红包的拆分算法、红包的存储使用list,并设置红包的过期时间
用户抢红包使用Lpush 把红包从redis中出列
记红包使用hash,记录用户的id和红包金额
用户抢过之后不能在抢
Powered by Waline v2.15.8