写点什么

设计电商秒杀系统

作者:流火
  • 2022 年 6 月 30 日
  • 本文字数:1017 字

    阅读完需:约 3 分钟

【背景】

【业务背景】

你作为一个电商创业公司的架构师,负责设计 6.18 大促秒杀系统的设计,你们的业务模式如下:

1. 你们挑选选品各大电商平台上畅销和好评的商品进行销售,每个品类不超过 20 个商品,目前做了 10 个品类;

2. 本次 6.18 秒杀选择了 1000 个充电宝,10 台 iPhone 12 作为秒杀商品;

3. 正常的日活大约 100 万用户; 4. 老板要求万无一失。

【技术背景】

1. 技术团队以 Java 为主,已经落地了微服务架构;

2. 主要渠道是自有的 App(包括 iOS 和 Android)和微信小程序,为了促进用户转化为 App 用户,只有下载 App 才能参加秒杀活动;

3. 目前只有单机房。

【毕设要求】

1. 设计完整的架构,例如存储、负载均衡、缓存、高可用、可扩展等;

2. 大约 10 页以内的 PPT,每页 PPT 说明一项设计,包括架构设计和设计理由,无需详细解释备选方案。

【提示】

1. 分析考虑要全面,但并不意味着架构设计要面面俱到,如果分析后认为某些设计点可以不做,就在作业最后统一说明原因即可;

2. 如果没有思路,请对照模块 9 的 IM 案例;

3. 如果有的信息觉得不够全或者不够细,可以做出一定的假设,但不能天马行空,需要对照已有的业务背景和技术背景进行合理推断

【业务基本场景】


1.用户可以随意浏览商品

2.用户只有 APP 登录才能下单秒杀商品

3.秒杀商品未开始不能秒杀

4.用户秒杀每个商品品类只能购买一个

5.秒杀成功,生成订单,库存扣减,等待支付

6.支付调用 第三方服务,

7.支付成功,变更订单状态

8.支付失败,支付超时,订单取消,库存恢复

【总体架构思路】

1.秒杀业务特点:瞬时流量,重复请求,购买数量限制

2.秒杀作为单独的微服务部署

3.前端  静态化,限流

4.后端  排队,缓存,熔断,限流


【存储性能预估】

【注册】

  每日新注册用户不到 1 万,可以忽略

【登录】 

百万用户登录信息

【商品】 

目前 10 个品类 ,每个品类 20 个商品,商品 数量 200

【订单】 

计算架构之负载均衡秒杀商品数量有限,订单写入数量,查看数量 忽略不计

【存储架构】



【计算性能预估】

【注册】

  每日新注册用户不到 1 万,可以忽略

【登录】 

百万用户登录信息

【浏览商品】 

秒杀商品曝光率高,假设每个用户浏览 20 次,浏览 时间集中在 秒杀活动开始的

  前 10 分钟和后 10 分钟,QPS 均值:100 万*20/20*60 ≈ 2 万/s

【秒杀下单】

  秒杀商品数量有限,假设 有 30%客户参加秒杀,秒杀活动开始以后 30 秒内 购买完毕。

  TPS 均值:100 万*0.3/30 ≈ 1 万/s

【计算架构之负载均衡】

【计算架构之缓存架构】

【可扩展架构】


【高可用架构】


发布于: 刚刚阅读数: 3
用户头像

流火

关注

还未添加个人签名 2018.01.31 加入

还未添加个人简介

评论

发布
暂无评论
设计电商秒杀系统_流火_InfoQ写作社区