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

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

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年抖音春节红包,将用户进入的时间打散,减少瞬时请求峰值。
相关推荐
盈创力和20071 小时前
本地可视 + 超低功耗:带 E-Ink 屏的 LoRa 温湿度终端系统架构与功耗优化实践
系统架构·电子墨水屏·lora温湿度传感器·无线温湿度监测·超低功耗设计
成茂峰2 小时前
软考高级·系统架构设计师 | 三、信息系统基础知识
系统架构·软考高级·系统架构设计师
小温冲冲8 小时前
系统架构设计师考试:深度精讲软件架构理论与设计实践
系统架构
犀思云10 小时前
构建全球化多云网格:FusionWAN NaaS 在高可用基础设施中的工程实践
运维·网络·人工智能·系统架构·机器人
彷徨的蜗牛12 小时前
未来系统架构:从静态蓝图到智能化进化的演进之路
系统架构
小温冲冲14 小时前
系统架构设计师考试官方教程重点解析(基于最新版教程)
系统架构
RockHopper20251 天前
ISA-95 的语义边界与 MOM 运行语义缺口
系统架构·智能制造·工业数字化·isa-95
Coder个人博客1 天前
Linux6.19-ARM64 mm init子模块深入分析
linux·安全·车载系统·系统架构·系统安全·鸿蒙系统·安全架构
快来吃饭�1 天前
Ubuntu-20.04 gem5 构建并实现一个简单的配置脚本
linux·ubuntu·系统架构
成茂峰2 天前
软考高级·系统架构设计师 | 二、计算机系统基础知识
系统架构·软考高级·系统架构设计·架构设计师