作业 -week5- 设计微博系统中”微博评论”的高性能高可用计算架构
设计微博系统中”微博评论”的高性能高可用计算架构
【作业要求】
基于模块 5 第 6 课的微博实战案例,分析“微博评论”这个核心场景的业务特性,然后设计其高性能可用计算架构,包括但不限于如下内容:
计算性能预估(不需要考虑存储性能);
非热点事件时的高性能计算架构,需要考虑是否要拆分独立的服务;
热点事件时的高可用计算架构。
【提示】
分析方法对照“看微博” 和 “发微博”的案例。
1 背景
目前我们已经对看微博和发微博的案例及其高可用的性能和计算架构进行了分析,接下来我们上述两种功能案例的分析,来完微博评论的分析。
对于微博评论的架构分析主要通过对用户量和用户行为的评估,从而设计出能够支撑其稳定性的架构。
2 用户量评估 &用户行为
用户量发展报告 2020:
2020.9 月月活 5.11 亿,日活 2.24 亿。
关注”微博评论” 这个用户行为
3 用户行为建模 和 性能估算
【评论+回复】
微博评论行为是一个交互的过程,假设每天每人会**评论+回复 5 条信息(**只考虑文字评论),则每天交互式的评论大约为 13 亿条评论。
同样每天的大部分评论微博的时间集中在早上 8:00 ~ 9:00, 中午 12:00 ~ 13:00, 晚上 20:00 ~ 22:00, 假设这几个时间段评论微博的总量占比为 60%, 那么这个小时的 TPS 计算如下:
13 亿 * 60% / (4*3600) ≈ 5w/s
【查看评论】
当我们查看评论时,更多是因为收到了别人的回复,所以我们假设查看是评论的两倍,则查看评论的次数为:
13 亿 * 2 = 26 亿
按照评论微博的集中时间段,我们可以得出查看评论的 QPS:
26 亿 * 60% / (4*3600) ≈ 10w/s
4 微博评论分析
【业务特性分析】
目前微博评论只允许进行写入,并不允许修改,并且评论的主要特性是写和读,因此适合缓存架构。同样因为 5w/s 的 tps,请求量也很大,负载均衡架构同样需要考虑,首先考虑 4 层负载均衡。
【架构分析】
用户评论量预计过 10+亿,TPS 越 5w/s, 适合采用多级负载均衡架构。
查看用户评论量预计超过 10w/s, 同样非常适合多级缓存架构。
【架构设计】
负载均衡算法选择
对于用户的评论,大部分用户是随机访问并评论,因此负载均衡策略选择”轮询” 或 “随机”算法。
评论