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

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

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年抖音春节红包,将用户进入的时间打散,减少瞬时请求峰值。
相关推荐
jiayong2312 小时前
多子系统架构下的Nginx部署策略与最佳实践
运维·nginx·系统架构
晓风残月淡12 小时前
系统架构设计基础知识:软件架构风格
系统架构·软件架构风格
坏孩子的诺亚方舟21 小时前
FPGA系统架构设计实践8_复位参考设计
fpga开发·系统架构·复位
CoderIsArt2 天前
xorrisofs的系统架构与开源地址
系统架构
star _chen2 天前
【操作系统入门】文件系统
系统架构
Ashlee_code3 天前
OTC市场:A股震荡下的金融新蓝海——深度解析场外交易的战略价值与实施路径
科技·金融·系统架构·区块链·跨境·金融机构·场外期权
star _chen4 天前
【操作系统入门】内存管理(一)
系统架构
云卓SKYDROID4 天前
无人机遥控器CPU技术要点解析
系统架构·无人机·高科技·云卓科技·载荷系统
六边形架构5 天前
别再盲目地堆砌技术了!大部份大数据项目的失败,都是因为架构设计没做对!
大数据·系统架构
淡水瑜8 天前
Ignition System Architectures系统架构
系统架构