写点什么

模块 9 毕业设计项目

作者:冷夫冲
  • 2023-01-14
    广东
  • 本文字数:917 字

    阅读完需:约 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. 日活 100 万,估算参加秒杀的用户为 500 万。

  2. 1000 个充电宝,10 台 iPhone12 作为秒杀商品,秒杀时间非常短,假设在 5 秒内完成秒杀。

 

二、计算架构

2.1、性能估算

 

在 App 端可以做随机限流或者秒杀概率判断,限制 1%的秒杀请求进入后端秒杀程序,其它请求直接丢弃。

 

1、能成功参与秒杀的用户总数为:500 万用户*1%=5 万用户。

 

2、秒杀 TPS=5 万/5 秒=1 万/秒

 

3、用户提前 10 分钟进入秒杀页面,每人刷新 5 次页面,假设 CDN 能够承载 90%的用户流量,那么剩下 10%的请求会进入系统,则查看秒杀商品 QPS=500 万用户*5/10/60*10%=4167/秒

 

2.2、负载均衡设计

秒杀需要独立出微服务,不要将秒杀的逻辑分散在各个正常的业务微服务中(例如下单、支付、库存、风控等),因为秒杀是一次性的活动,活动结束后逻辑就废弃了。

 


秒杀架构设计图


三、存储架构

3.1、性能估算

登录用户数:500 万

商品数据:不超过 200 个,每个商品数据 3M,不超过 600M

秒杀订单数据:500 万条


3.2、存储架构设计



数据存储架构设计图

 


缓存架构设计图

 

用户头像

冷夫冲

关注

还未添加个人签名 2018-09-22 加入

还未添加个人简介

评论

发布
暂无评论
模块9毕业设计项目_架构设计实战_冷夫冲_InfoQ写作社区