写点什么

模块九作业 - 设计电商秒杀系统

作者:CH
  • 2022 年 3 月 27 日
  • 本文字数:494 字

    阅读完需:约 2 分钟

【业务背景】

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

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

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

  3. 正常的日活大约 100 万用户;

  4. 老板要求万无一失。

【技术背景】

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

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

  3. 目前只有单机房。

性能估算

关键数据:日活 100w 用户,1000 个充电宝,10 台 iphone

假设用户活跃时间为中午 1 小时和晚上 4 小时,秒杀时活跃用户数是平常的 10 倍,秒杀持续时间为 15 秒,尝试下单 5 次

秒杀场景的功能包括:查看商品、读取库存、下单、支付

  1. 查看商品 QPS: 100w/5*10/60/2 = 4w

  2. 读取库存 同查看商品 QPS: 4w

  3. 下单 TPS: 1010/15*5 = 350

  4. 支付 TPS: 1010/15 = 70

计算架构

负载均衡


缓存架构

采用 3 级缓存架构


存储架构

MySql 主备(订单数据)

缓存 Redis Cluster (商品数据、库存数据)

可扩展架构

秒杀系统做成单独的微服务,与其他服务相互独立,降低耦合


用户头像

CH

关注

还未添加个人签名 2019.04.26 加入

还未添加个人简介

评论

发布
暂无评论
模块九作业-设计电商秒杀系统_架构实战营_CH_InfoQ写作平台