1 个回答
详细方案如下:
1、预扣库存:活动开始前预热Redis,库存按房源ID分片存储;
2、库存回滚:用户15分钟内未支付,系统自动释放库存(通过延迟队列实现)。
3、异步削峰:
4、防超卖补充:
1、预扣库存:活动开始前预热Redis,库存按房源ID分片存储;
2、库存回滚:用户15分钟内未支付,系统自动释放库存(通过延迟队列实现)。
3、异步削峰:
4、防超卖补充:
1、用户点击下单后,前端直接返回“排队中”状态,请求进入MQ队列(如RocketMQ);
2、后端消费者分批拉取消息,通过Redis Lua脚本原子性扣减库存;
3、库存扣减成功则生成订单,失败则MQ重试(限制最大重试次数,避免死循环)。
发布于:1个月前 (02-13) IP属地:四川省
我来回答
您需要 登录 后回答此问题!