飙戈的博客
首页
搜索
往期整理
历史归档
文章分类
文章标签
关于我
Article
175
Category
4
Tags
43
首页
搜索
往期整理
历史归档
文章分类
文章标签
关于我
技术栈
秒杀系统设计
Post on: 2025-4-18
Last edited: 2025-8-29
Views
系统设计
Catalog
0%
1、架构设计原则
2、分层详解与核心技术点
2.1 前端层优化
2.2 网关层优化
2.3 业务服务层(秒杀核心)
2.4 缓存层
2.4.1 商品库存缓存 - String (最关键)
2.4.2 已购用户名单 - Set / BitMap
2.4.3 商品详情缓存 - Hash / String (JSON)
2.4.4 临时订单缓存 - Hash (可选)
2.4.5 数据结构的工作过程
2.5 数据库层
3、常见问题
3.1 防作弊
方案一:前端防护
方案二:网关层防护
业务方案三:服务层
3.2 超卖问题
方案一:Redis原子操作
方案二:数据库乐观锁
3.3 库存扣减问题
方案一:下单扣库存(最常用)
方案二:支付扣库存
3.4 超时回滚问题
3.5 缓存失效问题
3.6 事务和消息一致性
方案一:本地事务表(最大努力通知)
方案二:使用支持事务消息的MQ(如RocketMQ)
4、一个典型的秒杀流程
mcbilla
一个普通的干饭人🍚
Article
175
Category
4
Tags
43
Latest posts
线上问题排查:接口响应慢如何处理
2026-6-7
RocketMQ系列:常见问题
2025-9-23
RocketMQ系列:集群管理
2025-9-23
RocketMQ系列:物理存储
2025-9-23
RocketMQ系列:消息管理
2025-9-23
RocketMQ系列:整体架构
2025-9-23
Announcement
🎉欢迎来到飙戈的博客🎉
-- 感谢您的支持 ---
👏欢迎学习交流👏
Catalog
0%
1、架构设计原则
2、分层详解与核心技术点
2.1 前端层优化
2.2 网关层优化
2.3 业务服务层(秒杀核心)
2.4 缓存层
2.4.1 商品库存缓存 - String (最关键)
2.4.2 已购用户名单 - Set / BitMap
2.4.3 商品详情缓存 - Hash / String (JSON)
2.4.4 临时订单缓存 - Hash (可选)
2.4.5 数据结构的工作过程
2.5 数据库层
3、常见问题
3.1 防作弊
方案一:前端防护
方案二:网关层防护
业务方案三:服务层
3.2 超卖问题
方案一:Redis原子操作
方案二:数据库乐观锁
3.3 库存扣减问题
方案一:下单扣库存(最常用)
方案二:支付扣库存
3.4 超时回滚问题
3.5 缓存失效问题
3.6 事务和消息一致性
方案一:本地事务表(最大努力通知)
方案二:使用支持事务消息的MQ(如RocketMQ)
4、一个典型的秒杀流程