实战分布式之电商高并发秒杀网关核心要点及代码实现
从本文开始就进入到了秒杀场景的实现环节,我将主要分两大块进行逐一解析,分别为:
- 高并发秒杀网关核心要点及代码实现
- 高并发秒杀收单平台核心要点及代码实现
本篇主要讲一下秒杀网关的要点及编码。
秒杀网关业务场景概述
首先对秒杀网关的主要业务逻辑进行详细的说明。
- 秒杀服务网关在启动时对商品、库存、其他配置进行预加载
- 用户通过H5/小程序/APP等终端发起秒杀请求,将秒杀下单请求发送至秒杀服务网关
- 网关收单接口对用户下单请求进行前置预校验,包括
- 参数合法性校验
- 商品合法性校验,主要校验下单产品id对应的商品是否存在
- 进行商品库存校验,即当前库存是否大于0(或者大于等于1)
- 对商品库存进行预减,判断预减库存结果是否大于等于0
- 第2步通过后,对收单参数进行处理,组装为秒杀下单消息协议,将消息投递到RocketMQ中
- 为用户同步返回 “秒杀请求已接收,排队中”
- 上述步骤1-4一旦有处理失败或者校验失败的情况都同步返回用户 “秒杀下单失败”