该小程序主要是商家在后台管理系统上架商品,用户通过小程序购买,该小程序主要包括订单模块,购物车模块,商品模块,用户模块,收货模块,该项目采用前后端分离的架构,用户通过前台发送请求,经过nginx转发到后端系统,我主要负责后台订单模块和秒杀模块功能。
项目亮点:1.项目独立部署,独立秒杀模块
2.使用定时任务每天三点上架最新秒杀商品,削减高峰期压力 3.秒杀链接加密,为秒杀商品添加唯一商品随机码,在开始秒杀时才暴露接口 4.库存预热,先从数据库中扣除一部分库存以`redisson 信号量`的形式存储在redis中 5.队列削峰,秒杀成功后立即返回,然后以发送消息的形式创建订单
遇到困难:1.如何防止重复下单 2.如何隐藏访问路径 3.如何防止库存超卖和数据的最终一致性 4.库存扣完,如何降低redis的访问 5.如何使用jmeter同时登陆5000个用户进行秒杀 6.上架秒杀商品的幂等性问题