写点什么

模块 9 作业

作者:miliving
  • 2022 年 3 月 08 日
  • 本文字数:885 字

    阅读完需:约 3 分钟

作业要求:

设计电商秒杀系统


【业务背景】

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

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

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

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

  4. 老板要求万无一失;


【技术背景】

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

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

  3. 目前只有单机房;


【毕设要求】

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

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


【提示】

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

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

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



项目设计:


基本业务场景:


  1. 用户通过手机号注册为平台用户,手机号可以做为用户的唯一标识,当然也会有一个唯一的用户 ID

  2. 用户使用手机 APP 可以浏览商品的列表,商品详情,以及商品的搜索等功能

  3. 购物车功能:添加商品,生成订单

  4. 生成订单后可以调用支付接口对用户的订单进行支付

  5. 库存管理、物流、积分等功能

存储架构设计:

【注册/登录】

日活用户 100w,根据二八定律,总用户量应该在:500w 左右。

每日注册请求的 QPS 基本可以忽略不计。

登录成功之后登录态会保持生效一段时间(数天),用户访问的高峰期集中在商品抢购前 30min 内,假设全部用户用户来参与秒杀,则登录 QPS:(500-100)w/(30*60)~= 2222 qps/s。

【商品浏览】

商品数量:20 个商品*10 个品类 = 200 多个商品,每个商品的介绍文案 3000 个字符,商品的图片存储在公有云存储,业务只保存图片或者视频的 url,假设文字+url 信息等不超过 5000 个字符。5000*2*200 ~= 2M


计算架构设计-负载均衡:


计算架构设计-缓存架构:


可扩展架构设计:


高可用架构设计:


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

miliving

关注

还未添加个人签名 2019.02.26 加入

还未添加个人简介

评论

发布
暂无评论
模块 9 作业_miliving_InfoQ写作平台