秒杀的架构设计是面试中经常会遇到的题目,笔者在进入目前所在公司时就经历了这样的一次考验,在短短半个小时内需要画出架构图并给面试官讲解,想想还是挺有挑战的,下面记录一下我在后期查阅资料所了解的关于秒杀的架构设计。
什么是秒杀
所谓秒杀,从字面意思上看就是瞬时售空,要满足这个条件,还必须做到低廉价格、大幅推广,只有在满足这两个前提条件,才会形成瞬时售空的场景。
想象一下,海量的买家在同一时间段内对商品进行下单操作,在极短的时间内(通常为1~2秒)商品就进入售罄状态,这是一个秒杀的典型场景。那么该场景下对系统架构有什么要求呢?我们如何做才能满足这些要求?这就是秒杀架构需要解决的问题。
利用缓存的秒杀架构设计
小库存商品秒杀典型架构
不管是X东,还是X多,还是X宝,都经常会有一元秒杀,比如说库存商品为10个,秒杀价格为1元,这是典型的小库存商品秒杀。在这种场景中,商品数量会在极短的时间内降为0,该架构的核心就是处理好商品库存的扣减,不要出现超卖的情况。以下是以阿里巴巴的架构为例说明:
隔离部署
图中虚线左侧部署的是秒杀商品的服务实例ÿ