架构实战营 10 期 - 模块九作业
业务流程设计
系统架构设计
1.注册登录
日活用户 100w,假定活动当天用户新增到了 10 倍,一共 1000 w 用户,80%登录注册发生在 2 小时内,
则 TPS=1000w*0.8/2/3600≈0.1w
2.畅销商品
10 大类,每类 20 个商品,一共 200 个商品。当天一共 5 倍的人查看,每人查看 10 次,每次查看 5 个商品,且 80%的请求发生在 1 小时内,
则 QPS=500w*10*5*0.8/1/3600≈5.6w
3.秒杀商品
1000 个充电宝,10 个 iphone,假定当天 5 倍人参与,共 500 w,每类商品每人点击请求 2 次,秒杀请求发生在 1 分钟内
则 TPS=500w*2*2/60≈33w
4.支付
同 2 和 3 的逻辑一样:
畅销商品:TPS≈5.6w
秒杀商品:TPS≈33w
存储架构设计
1.注册登录
假定有 10 倍于日活的用户注册登录,存储注册和登录信息为 1000w
2.秒杀商品库存
秒杀商品的背后是高并发查询,所以使用 redis cluster
3.订单
假定 1000w 个登录用户有 50%购买转化率,每人购买 5 个商品,订单的存储量为 1000w*0.5*5=2500w
负载均衡
可以采用多级负载均衡,为满足峰值数百万的请求,LVS 已足够满足需求,使用多个 LVS 作为一级负载均衡。
缓存设计
1.缓存设计可以采用 App 缓存+web 容器缓存+分布式缓存
2.APP 缓存和 WEB 缓存将大量静态页面保存起来,秒杀时静态页面从 APP 或 Web 获取,减轻后端压力。
3.为应对秒杀开始大量库存查询请求,使用 redis 保存库存, 采用 Redis Cluster 方式部署。
高可用设计
假定时间、资金允许的前提下,建设同城灾备。
其他
为了防止羊毛党,可以建设自己的风控服务。
版权声明: 本文为 InfoQ 作者【炮仗】的原创文章。
原文链接:【http://xie.infoq.cn/article/2e267bbf5a6ce4311a28c4f7f】。未经作者许可,禁止转载。
评论