模块九作业
1. 存储架构
1.1 存储性能估算
注册:日活 100 万,占总用户数量的 30%, 故有 300 万用户数据。
登录:日活 100 万,登录 QPS 为 100w/d
商品数据:10 个品类,每类 20 个商品。故有 200 个商品信息数据。
订单数据:日活 100 万,30%的用户下单,故每天 30 万订单数据。
1.2 存储架构设计图
2. 计算架构
2.1 计算性能估算
用户登录:日活 100 万,秒杀当天预计有 80%的用户参与,假设都在秒杀开始前的 5 分钟内登录,故用户登录 QPS = 2.6k/s;
订单数据:实际参与秒杀的商品共计 1012 件,不能超卖,预计在 1 秒内卖完。通过消息队列限流等等措施防止超卖,故有效的订单 TPS = 1012/s;
商品查询:秒杀系统要时刻查询出剩余商品数量,故查询峰值在秒杀开启时,1 秒中要给用户反馈出剩余量。故 QPS = 80w/s。
2.2 计算架构
QPS 峰值已超过 80 万每秒,故需要采用三级负载均衡。秒杀系统的流量虽然很高,但是实际有效流量是十分有限的。利用系统的层次结构,在每个阶段提前校验,拦截无效流量,可以减少大量无效的流量涌入数据库。
2.3 计算架构之缓存架构
缓存架构应对超高的商品 QPS,可以有效缓解服务器压力。
3. 可扩展架构
由于秒杀服务的特殊性,故要将秒杀服务作为独立的微服务拆分出来。
4. 高可用架构
由于用户规模已达百万级,对容灾处理需要考虑进来。虽然条件是单机房,但是还是建议老板考虑同城双中心(灾备)模式。
5. 大数据架构
考虑到今后的发展,为推荐系统和机器学习做铺垫,同时也兼顾成本,可以采用 ClickHouse 平台。
版权声明: 本文为 InfoQ 作者【Mr.He】的原创文章。
原文链接:【http://xie.infoq.cn/article/88eb49e67361189d8f765a48c】。文章转载请联系作者。
评论