写点什么

模块九

作者:撿破爛ぃ
  • 2022 年 3 月 08 日
  • 本文字数:660 字

    阅读完需:约 2 分钟

一、业务背景

  • 你们挑选选品各大电商平台上畅销和好评的商品进行销售,每个品类不超过 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、高可用架构设计


  • 秒杀请求排队架构

使用排队服务器,技术本质是:请求缓存+ 同步改异步+ 请求端轮询

  • 数据库主从复制架构

  • 应用服务架构



用户头像

撿破爛ぃ

关注

还未添加个人签名 2018.04.20 加入

还未添加个人简介

评论

发布
暂无评论
模块九_架构训练营_撿破爛ぃ_InfoQ写作平台