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

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

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年抖音春节红包,将用户进入的时间打散,减少瞬时请求峰值。
相关推荐
大雾的小屋20 小时前
【1-1】基于深度学习的滚动轴承故障诊断系统:从数据处理到交互式界面全流程解析
人工智能·pytorch·深度学习·系统架构·人机交互·pyqt·用户界面
职业码农NO.13 天前
架构模型:企业架构、技术架构、C4模型、TOGAF、互联网模型优缺点分析与学习
学习·架构·系统架构·软件工程
zhou_gai3 天前
供应链计划系统架构实战(四):架构蓝图--支持全球业务的微服务架构设计
微服务·架构·系统架构
哥哥还在IT中3 天前
“秒杀”系统架构设计深度剖析
系统架构
a***59263 天前
docker离线安装及部署各类中间件(x86系统架构)
docker·中间件·系统架构
Hernon3 天前
微服务架构设计 - 单体架构
微服务·云原生·架构·系统架构
南天一梦N4 天前
新的软件研发范式即将到来!
驱动开发·架构·系统架构·aigc·ai编程
honsor4 天前
盛世宏博档案库房温湿度及安防一体化监控系统架构解析
系统架构
菜鸟-014 天前
BMS--系统架构
系统架构
数智化架构师-Aloong5 天前
⚡️ PowerJob深度解析:Java生态下高并发分布式调度的终极选择
java·开发语言·分布式·系统架构