系统设计
使用缓存减轻数据库压力
缓存实现用户限流
乐观锁扣库存
异步生产订单
补偿机制
防止异步订单失败,加入定时任务重试机制重试下单;
或者下单逻辑 默认采用重试3次
方案一:秒杀成功扣库存,订单异步生成,订单生成失败,回滚库存。
方案二:页面发起秒杀,一直显示“处理中”,后端请求校验后,将 扣库存+下订单 操作发送mq消息,去异步处理,如果都成功,则写入redis,页面0.2s查询秒杀结果接口,如果存在有效订单(userId-goodsId),则秒杀成功。
***********持续更新