支付宝是如何解决热点库存扣减问题的?

支付宝是如何解决热点库存扣减问题的?

https://mp.weixin.qq.com/s/4XQAdXEVIjXnicauPE-yMw

典型问题: 热点库存扣减

这个是典型的秒杀场景,秒杀系统相对简单的库存扣减问题,比如春节红包雨活动,同一个资金池子有数亿人抢红包,比如阿里巴巴针对红包活动150万QPS的峰值压力,应该如何设计库存扣减方案呢?

常规方案

采用分桶设计,将库存均匀分发到 N 个 Redis 分桶中。通过 Incr 无锁的方式,高效扣减库存。

  1. 假设 key 失效了怎么办?
  2. 假设 Incr 方法失效了怎么办,

上面两种情况都会满足 $num < $max

复制代码
$num = $redis->incr($key);
if ($num > 0 && $num < $max) { 
 //入抢购成功队列,异步去执行抢购成功逻辑
} else {
 //不好意思呢,已经被抢完了
}

缺点:

每个桶库存消耗不均,会导致实际还有库存,但是有部分用户无法扣减库存,引发客诉。

优化后的方案

  • 小量多次分派库存,从而缓解消耗不均问题。
  • 21年抖音春节红包,将用户进入的时间打散,减少瞬时请求峰值。
相关推荐
合作小小程序员小小店4 小时前
web网页开发,在线%考试管理%系统,基于Idea,vscode,html,css,vue,java,maven,springboot,mysql
java·前端·系统架构·vue·intellij-idea·springboot
roman_日积跬步-终至千里6 小时前
【系统架构设计】用例技术:需求分析的实用工具
系统架构·需求分析
信创天地14 小时前
RISC-V 2025年在国内的发展趋势
python·网络安全·系统架构·系统安全·运维开发
Arva .1 天前
接口在领域层,实现在基础设施层
系统架构
qqxhb1 天前
系统架构设计师备考第68天——大数据处理架构
大数据·hadoop·flink·spark·系统架构·lambda·kappa
okjohn1 天前
《架构师修炼之路》——②对架构的基本认识
java·架构·系统架构·软件工程·团队开发
小哈里2 天前
【软考架构】2025H2系统架构设计师考试复习.jpg(软件架构、软件工程、数据库、Web开发、高项)
数据库·架构·系统架构·软件工程·后端开发
MarkHD3 天前
蓝牙钥匙 第67次 蓝牙大规模部署挑战:高密度环境下的性能优化与系统架构设计
性能优化·系统架构
snakecy3 天前
系统架构设计师学习大纲目录
学习·系统架构
snakecy3 天前
树莓派学习资料共享
大数据·开发语言·学习·系统架构