All Projects → BluesTroy → seckill

BluesTroy / seckill

Licence: other
商品秒杀系统——Java并发实战和并发优化

Programming Languages

java
68154 projects - #9 most used programming language
javascript
184084 projects - #8 most used programming language
SQLPL
141 projects

seckill

商品秒杀系统——Java并发实战和并发优化

优化总结:

  1. 前端控制:暴露接口,按钮防重复
  2. 动静态数据分离:CDN缓存,后端缓存
  3. 事务竞争优化:减少事务锁时间(存储过程)

后端优化

  1. 使用redis缓存热门商品
    • 优化点:暴露接口。
    • 用户可能一直再刷页面。越热的产品访问越多
  2. 事务简单优化:秒杀执行优化
    • 行级锁发生在减库存操作
    • 先执行记录购买行为,再执行减库存操作

事务竞争优化

  1. 事务SQL在MySql端执行(存储过程)
  2. 存储过程优化:事务行级锁持有时间
    • 不要过多依赖存储过程
    • 简单的逻辑可以应用存储过程
    • QPS: 一个秒杀单6000/qps
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].