一.秒杀系统的业务分析

1.秒杀系统的业务流程

首先会有三个实体,商家、库存、用户
商家和库存对应的关系,比如商家会添加/调整库存,然后库存会反应商家的发货/核账信息;库存与用户的对应关系,如:用户会秒杀/预售库存中的产品,反过来用户的付款/退货信息也会反应到库存上去。
简单的秒杀系统
也就是说整个系统其实是针对库存做的系统。即:秒杀业务的核心其实是对库存的处理。
简单的秒杀系统

2.用户对库存是如何处理的

用户秒杀一个商品,就会减库存,并记录购买明细,然后这两件事情构成一个完成的事务,最后写入数据库。
简单的秒杀系统

3.什么是购买行为

购买行为,主要是记录:谁购买成功了,成功的时间,以及付款/发货的信息。
简单的秒杀系统

二.秒杀系统难点分析

1.难点问题-竞争

简单的秒杀系统
这个问题反应到背后的技术:事务+行级锁
简单的秒杀系统
我们在秒杀的时候,其实竞争问题主要发生在update库存数量这里,那么有了行级锁和事务之后,当一个事务在执行的时候,即:在执行update库存数量,其他事务就必须等待。如下图:
简单的秒杀系统

2.秒杀难点-如何高效的完成竞争?

见后续。

相关文章: