模块九
一、业务背景
你们挑选选品各大电商平台上畅销和好评的商品进行销售,每个品类不超过 20 个商品,目前做了 10 个品类;
本次 6.18 秒杀选择了 1000 个充电宝,10 台 iPhone 12 作为秒杀商品;
正常的日活大约 100 万用户;
老板要求万无一失。
二、技术背景
技术团队以 Java 为主,已经落地了微服务架构;
主要渠道是自有的 App(包括 iOS 和 Android)和微信小程序,为了促进用户转化为 App 用户,只有下载 App 才能参加秒杀活动;
目前只有单机房。
三、性能预估
热销商品详情
200 个热销产品,假设每个商品 1w 人关注,按每人每分钟 5 次访问计算,按 cdn 可以抵挡 90%的请求计算,下单请求按 10%计算
热销商品 Qps = 200 * 1w * 5 次/ 60 秒* (1-90%) ≈ 2w/s
秒杀商品详情
假设 1000 个充电宝和 10 台 iphone 在同一时间开启秒杀活动,假设 20w 用户参与秒杀商品,在秒杀开始前 2 分钟频繁请求商品详情,按平均每个用户每分钟请求 50 次来预估,cdn 抵挡 90%
请求计算秒杀前 2 分钟商品详情 qps = 20w * 50 次/ 60 秒* (1-90%) ≈ 2w/s
秒杀处理
假设 20w 人在秒杀活动开启后,5 秒内有 20w 请求,假设秒杀处理 qps/tps = 20w /5 秒= 4w/s
四、架构设计
1、存储架构设计
数据库存储:mysql 采用一主多从架构
缓存存储:redis 采用 redis cluster
2、负载均衡架构设计
总个系统预估 qps+tps 为 10w/s 左右,并考虑到后续业务的增长,采用 4 级负载均衡设计
3、缓存架构设计
商品信息查询量 10w/s 左右,采用 4 级缓存设计
4、计算架构设计
5、高可用架构设计
秒杀请求排队架构
使用排队服务器,技术本质是:请求缓存+ 同步改异步+ 请求端轮询
数据库主从复制架构
应用服务架构
评论