分布式高并发商品秒杀系统设计
项目地址:https://github.com/Grootzz/dis-seckill
介绍
本项目为另一个项目seckill的分布式改进版本,dis-seckill意为:distributed seckill,即分布式秒杀系统。
商品秒杀与其他业务最大的区别在于:
- 低廉价格;
- 大幅推广;
- 瞬时售空;
- 一般是定时上架;
- 时间短、瞬时并发量高、网络的流量也会瞬间变大。
除了具有以上特点,秒杀商品还需要完成正常的电子商务逻辑,即:(1)查询商品;(2)创建订单;(3)扣减库存;(4)更新订单;(5)付款;(6)卖家发货。
本项目正是基于上述业务特点进行设计的,在项目中引入诸多优化手段,使系统可以从容应对秒杀场景下的业务处理。
另外,项目seckill为单体应用,在大并发情形下处理能力有限,所以本项目对其进行分布式改造,对职责进行划分,降低单体应用的业务耦合性。