什么是秒杀系统,设计思路及防止超卖的方法?

营销圈公众号引导关注

一 什么是秒杀

短时间(瞬时) 大量请求 买一个 库存少 商品

高并发 读写

用户量大 商品数量有限 最终创建订单量少

二 秒杀系统目标

稳 高可用 系统稳定

准 超卖

快 高性能

防 恶意请求

三 架构设计原则

轻量级设计-忌提前设计 + 过早设计

查询自己系统用户总数;是否100万以内 100万-2000千万 2000万级别以上的用户数

100万以内的用户设计—如何设计秒杀系统

100万-2000万级别用户设计–如何设计秒杀系统

2000万级别开外 -如何设计秒杀系统

四 前端解决方案

1 可以随意丢弃请求 直接返回失败

2 活动前置灰抢购按钮 防止产生无效流量

3 防暴击

4 资源静态化 cdn上传js 图片等文件

五 后端解决方案

1 令牌桶算法

2 ip访问限制

3 熔断降级

4 用户资格校验

5 用户黑名单

6 限流现成框架 gateway sentienl

六 问题解决方案-超卖 少卖 问题

•超卖

使用乐观锁进行库存变更 保证数据的安全性

update db set kucun = kuncun- mainum where kucun> 0

•少卖

使用定时任务 定时同步缓存的数据

使用定时任务 定期取消超时未支付的订单并恢复库存

七 问题解决方案 -高可用

•秒杀服务独立部署 、资源充足的情况下可用考虑针对秒杀活动单独部署一套

•分散流量 、抢购活动模块镜像跨地区部署

• 可以剥离无用逻辑 、比如考虑 使用优惠券、送积分、送虚拟币等场景剥离无用代码提高抢购性能

•后端服务集群化 采用 lvs nginx 等负载技术

•网关架构升级 zuul gateway nginx+lua kong 服务网格

八 架构设计图什么是秒杀系统,设计思路及防止超卖的方法?

用户秒杀系统架构设计

好了,这篇文章的内容营销圈就和大家分享到这里,如果大家对网络推广引流和网络创业项目感兴趣,可以添加微信:Sum8338 备注:营销圈引流学习,我拉你进直播课程学习群,每周135晚上都是有实战的推广引流技术和网络创业项目课程分享,当然是免费学!

版权声明:本站部分文章来源互联网用户自发投稿,主要目的在于分享信息,版权归原作者所有,不承担相关法律责任。如有侵权请联系我们反馈邮箱yingxiaoo@foxmail.com,我们将在7个工作日内进行处理,如若转载,请注明本文地址:https://www.yingxiaoo.com/118996.html