秒杀系统设计

1:什么是秒杀系统
秒杀系统:就是网络商家为促销商品,以低价格商品卖出做的限时限量抢购活动

2:秒杀系统可以解决什么问题,用在哪些场景
解决问题:解决网络商家快速促销商品,以低价格商品卖出做的限时限量抢购活动
应用场景:商品抢购

3:秒杀系统会出现什么问题,解决方案
出现的问题:1:并发量大   2:防止超卖   3:防止同一用户重复购买

并发量大解决方案:
前端层:静态化商品详情数据,禁止重复提交抢购按钮,在单位时间段做IP限流
服务层:因为是秒杀,所以是一个多用户参加,少量用户抢购成功的操作,在服务层就是一个查多写少业务流程,由于查询过程较多,频繁查询数据库可以使数据库宕机
             所以我们可以将商品的库存数据放入缓存Redis中,用户抢购商品下单,下单时就扣减缓存中的库存数量,当库存数量等于0或者活动期结束,则无法秒杀,秒杀下单成功后
             直接跳转到支付页面,若支付成功就填写收货人信息,更新数据库商品库存数据和新增用户订单数据
             若取消订单或者超时支付订单,则关闭调用支付接口,恢复缓存库存

防止超卖解决方案


防止同一用户重复购买解决方案
当用户进行下单操作时,先判断Redis中是否有预支付订单信息,如果有怎提醒先支付已买商品,如果没有预支付订单信息,则用户下单后向Redis存放一个预支付订单信息

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值