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

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

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年抖音春节红包,将用户进入的时间打散,减少瞬时请求峰值。
相关推荐
Dr.kangder13 小时前
嵌入式面试总结(二十)——ISA原理
单片机·面试·职场和发展·系统架构·嵌入式
xiaopai94515 小时前
从平面台账到业务关系链:用WPS做工地材料管理表的数据边界与系统架构演进
平面·系统架构·wps·建米软件·材料管理
武雄(小星Ai)1 天前
Agent记忆系统工程排坑:从Prompt Cache被打碎到Embedding迁移数据税
ai·系统架构·agent·智能体·深度评测
小马过河R1 天前
不只是又一个 Agent 框架:DeepSeek Harness 如何重新定义“可组合”
人工智能·机器学习·系统架构·agent·ai编程·harness
ZJU_统一阿萨姆2 天前
【推理优化】KV Cache 量化:在不牺牲质量的前提下压榨更多内存
人工智能·语言模型·系统架构·vllm
caimouse2 天前
ReactOS 图形系统分析(13):驱动对象 — DRIVEROBJ
系统架构
Dr.kangder2 天前
嵌入式面试总结(十五)——异常处理
单片机·面试·职场和发展·系统架构·嵌入式
qq_33776320193 天前
国际内外盘期货资管系统开发方案|多账户分仓、代理商管理、风控系统架构解析
系统架构
caimouse3 天前
ReactOS 图形系统分析(1):VBE MiniPort 驱动 vgapnp.sys
系统架构
ZJU_统一阿萨姆3 天前
【推理优化】连续批处理:当推理吞吐量遇到天花板
人工智能·语言模型·系统架构