模块五作业
微博系统中”微博评论“的高性能高可用计算架构。
一、计算性能估算
用户量估计
2020.9 月月活 5.11 亿,日活 2.24 亿(参考《微博 2020 用户发展报告》)。
行为
1.评论微博
2.看评论
性能估算
1,评论微博
微博每天的发送量假设为 2 亿条,评论为微博的 5 倍,每天的评论量为 10 亿条,大部分的人写评论集中在早上 8:00~9:00 点,中午 12:00~13:00,晚上 20:00~22:00,假设这几个时间段写的总量占比为 60%,则这 4 个小时的平均写评论的 TPS 计算如下:
10 亿* 60%/(4* 3600)=40K/s。
2,看评论
假设平均一条微博观看人数有 50 次, 进去看评论的人数为看微博人数的 20%。大部分人看评论的时间段和发微博的时间段基本重合。
QPS :
20 亿 *60%/(4* 3600)=80K/s
二、高性能计算架构设计
评论微博
1,多机房架构
2,不使用缓存
3, 4 级负载均衡来做任务分配,DNS , F5/LVS , nginx, 网关。
4,服务器估算:假设每台服务每秒处理 400 个请求,则总共需要 40K/ 400 = 100 台机器。
看评论
1,使用 5 级缓存架构。客户端,CDN,web 容器,应用程序,分布式缓存; CDN 能够承载 90%的用户流量,剩下的流量可由应用程序本地缓存承载。
2,服务器数量估算:请求 QPS 为 80K/s* 10%=8K/s,假设单台业务服务器处理能力是 1000/s,机器为:8K/1K=8 台
三、热点事件高可用计算架构设计
热点事件很难预估;发生热点事件时,
1,写请求可采用排队算法,确保请求不会丢弃。
2,看评论采用多缓存副本和应用缓存。
评论