秒杀系统

Posted piers

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了秒杀系统相关的知识,希望对你有一定的参考价值。

学习目标

  • 秒杀原理
  • 性能测试
  • 性能分析

系统目标

  • 性能优秀
  • 能经受住高并发
  • 不会超卖

框架

  • Spring
  • Redis
  • 线程池

思路

lpush N 个需要秒杀商品的序号
lpop 取序号,取不出来则秒杀失败
之后异步存入数据库

一些错误

过度设计

想设计一个秒杀操作可以有不同实现的父类,发现没有必要,我能想到就这一个方案。

秒杀工厂 UML
技术图片

用 Redis 事务控制秒杀数量

思路是这样,开始事务控制,先 get 数量,后 decrease 之,后提交。
这是错误的。事务只能控制插入是正确的,会读取到脏值。

以上是关于秒杀系统的主要内容,如果未能解决你的问题,请参考以下文章

秒杀系统如何防止超卖?

秒杀架构

带你详细了解秒杀系统设计思路

秒杀系统设计原理

如何设计出骚气的秒杀系统?

终于来了!秒杀系统设计的最全攻略!!