电商秒杀系统架构设计
一、业务背景
作为一个电商创业公司的架构师,负责设计 6.18 大促秒杀系统的设计,业务模式如下:
挑选选品各大电商平台上畅销和好评的商品进行销售,每个品类不超过 20 个商品,目前做了 10 个品类;
本次 6.18 秒杀选择了 1000 个充电宝,10 台 iPhone 12 作为秒杀商品;
正常的日活大约 100 万用户;
老板要求万无一失。
业务基本场景
用户无须注册登录也可以浏览商品;
用户只有注册登录后才能参与抢购;
每个用户只能抢购一件秒杀商品;
二、总体架构思路
三、存储架构设计
百万用户规模存储性能估算
【注册】
百万用户注册信息。
【登录】
每天活跃用户有 100 万左右,登录时读取用户信息是每天 100 万 QPS。
【浏览商品】
每个活跃用户浏览商品需记录浏览日志数据,存储为日志文本文件。
【购买商品】
百万级用户,10 个品类,每个品类不超过 20 个商品,用户一年复购率为 5,存储 3 年订单数据,订单数据预计 3 千万。
【秒杀商品】
只需要存储抢购成功的订单数据,存储可以忽略不计。
四、计算架构设计
百万用户规模计算性能评估
【注册】
每日新注册用户不到 1 万,可以忽略。
【登录】
每天活跃用户有 100 万左右,假设登录时间集中在早晚 4 小时,登录 TPS 均值:100 万 / 14400 = 70。
【浏览商品】
日活 100 万左右,假设浏览时间集中在早晚 4 小时,浏览 QPS 均值:100 万 / 14400 = 70。
【购买商品】
日活 100 万左右,假设购买时间集中在早晚 4 小时,每天有 50%浏览商品后会购买,TPS 均值:100 万 / 14400 = 35。
【秒杀商品】
日活 100 万左右,假设有 60%的用户参与秒杀商品,QPS 为 60 万,TPS 为 1000
计算架构之负载均衡
计算架构之缓存架构
五、其它架构设计
可扩展架构设计 - -微服务拆分
高可用架构设计 - - 同城双中心
评论