写点什么

【架构实战营】模块九作业

作者:Geek_99eefd
  • 2022 年 1 月 13 日
  • 本文字数:909 字

    阅读完需:约 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. 如果有的信息觉得不够全或者不够细,可以做出一定的假设,但不能天马行空,需要对照已有的业务背景和技术背景进行合理推断。

【618 秒杀背景分析】

1.用户注册/登录

2.商品选定

4.下单

5 支付

6 物流

a.用户日活在 100 万。618 秒杀引流按照 10%-20%的增量,那么用户群大概在 110 万-120 万。按照百万级别设计。

b.团队已经实现了微服务,加上秒杀非常规业务,直接做成一个微服务,用完机可去掉。

【存储架构】

a 估算

1.618 登录活跃度在 120 万左右,按照 100 万计算

2.同时浏览秒杀商品 1000 个充电宝和 10 台 iPhone

3.下单 1000 个充电宝和 10 台 iPhone,每个用户仅可以够买一台

b 设计

1.mysql 存储模式采用主备模式

2.Redis,采用 Cluster 模式,2 个切片组(主备模式,每个切片分 1/2 的商品,包含 500 个充电宝,和 5 台 iphone)。用户根据时间随机分配到二个分片上。

【计算架构】

估算秒杀活动会在倒计时 5 秒内不断的刷新界面。在越接近秒杀时间,刷新请求会越快,我们预估在 60 万-80 万的请求。

【负载均衡架构】

采用 LVS 作负载均衡设计

【缓存架构】

采用 APP 与 CDN 做缓存,减轻服务器压力

【高可用架构】

团队已经搭建好使用微服务,在已经搭建好的平台上增加服务方便扩展。


用户头像

Geek_99eefd

关注

还未添加个人签名 2021.07.13 加入

还未添加个人简介

评论

发布
暂无评论
【架构实战营】模块九作业