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

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

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年抖音春节红包,将用户进入的时间打散,减少瞬时请求峰值。
相关推荐
学习菌子12 小时前
第12章:【系统架构设计师】系统架构设计-数据流风格
系统架构·软考高级·系统架构设计师·数据流风格·架构风格
Ashlee_code12 小时前
美联储降息趋缓叠加能源需求下调,泰国证券交易所新一代交易系统架构方案——高合规、强韧性、本地化的跨境金融基础设施解决方案
java·算法·金融·架构·系统架构·区块链·需求分析
爱思德学术2 天前
中国计算机学会(CCF)推荐学术会议-A(人机交互与普适计算):CHI 2026
系统架构·人机交互
半桔3 天前
【Linux手册】重定向是如何实现的?Linux下为什么一切皆文件?
linux·运维·服务器·面试·系统架构·操作系统
麦兜*3 天前
SpringBoot 2.x→3.0升级实战:Jakarta EE兼容性改造清单
java·spring boot·后端·spring·系统架构·maven·springcloud
三桥君4 天前
在AI应用中Prompt撰写重要却难掌握,‘理解模型与行业知识是关键’:提升迫在眉睫
人工智能·ai·系统架构·prompt·产品经理·三桥君
帅次6 天前
系统分析师-计算机系统-输入输出系统
人工智能·分布式·深度学习·神经网络·架构·系统架构·硬件架构
蝸牛ちゃん6 天前
云计算三大服务模式深度解析:IaaS、PaaS、SaaS
云原生·系统架构·云计算·软考高级·saas·paas·iaas
帅次6 天前
系统分析师-计算机系统-计算机系统概述&存储系统
系统架构·硬件架构·软件构建·个人开发·代码规范·设计规范
蝸牛ちゃん6 天前
系统性能评估方法深度解析:从经典到现代
架构·系统架构·软考高级·性能·性能评估