写点什么

架构实战营模块 5 作业

作者:冷夫冲
  • 2022-11-16
    广东
  • 本文字数:721 字

    阅读完需:约 2 分钟

一、评论微博计算性能估算

用户量:2020.9 月月活 5.11 亿,日活 2.24 亿(参考《微博 2020 用户发展报告》)。

1. 发评论

假设平均每人每天发 1 条微博,每条微博平均查看人数为 100 次,有 10%的用户会评论微博,则每天的评论总数为:

2.5 亿 * 100 次 * 10% = 25 亿

假设大部分人发评论集中在早上 8:00~9:00 点,中午 12:00~13:00,晚上 20:00~22:00,假设这几个时间段发评论总量占比为 60%,则这 4 个小时的平均发评论的 TPS 计算如下:

25 亿 * 60% / (4 * 3600) ≈ 100 K/s

2. 看评论

假设用户看微博时会查看 3 页评论,看评论总次数相当于看微博的次数*3,则看评论的总次数为:

2.5 亿 * 100*3 = 750 亿

假设大部分人看评论的时间段和发评论的时间段基本重合,因此看评论的平均 QPS 计算如下:

750 亿 * 60% / (4*3600) = 3000K/s

二、非热点事件时的高性能计算架构

1. 发评论

用户量 2.5 亿,发评论不需要用缓存,用 4 级负载均衡。

业务服务器数量估算

按照一个服务每秒处理 500 来估算,完成 100K/s 的 TPS,需要 100K/500 = 200 台服务器,加上一定的预留量,25 台服务器足够。

2. 看评论

看评论非常适合用分布式缓存架构,同时采用 CDN,4 级负载均衡。

业务服务器数量估算

假设 CDN 能够承载 90%的用户流量,那么剩下 10%的读评论请求会进入系统,则 QPS 为 3000K/s * 10% = 300K/s。由于读操作的处理逻辑比较简单,主要是读缓存系统,因此假设单台业务服务器处理能力是 1000/s,则机器数量为 300 台,按照 20%的预留量,最终机器数量为:

300K / 1000 * (1 + 20%) = 360 台

整体架构设计



多级负载均衡架构



多级缓存架构

三、热点事件时的高可用计算架构

发评论高可用

发评论可以使用漏桶算法变种-写缓冲来实现。

 

看评论高可用

可以采用多副本缓存架构来应对热点。


多副本缓存架构

 

用户头像

冷夫冲

关注

还未添加个人签名 2018-09-22 加入

还未添加个人简介

评论

发布
暂无评论
架构实战营模块5作业_架构训练营_冷夫冲_InfoQ写作社区