设计微博系统中"微博评论"的高性能高可用计算架构

背景
设计微博系统中”微博评论“的高性能高可用计算架构。
【作业要求】
基于模块 5 第 6 课的微博实战案例,分析“微博评论”这个核心场景的业务特性,然后设计其
高性能高可用计算架构,包括但不限于如下内容:
1. 计算性能预估(不需要考虑存储性能);
2. 非热点事件时的高性能计算架构,需要考虑是否要拆分独立的服务;
3. 热点事件时的高可用计算架构。
【提示】
1. 分析方法对照“看微博”和“发微博”的案例。
1. 计算性能预估
根据《微博 2020 用户发展报告》,2020.9 月 月活用户 5.11 亿, 日活 2.24 亿

1.1 用户行为建模和性能估算
假设每个用户每天评论 10 条微博,则每天评论数为 2.24*10 = 22.4 亿条
根据 28 法则,用户每天 24 * 20%小时发出 22.4 * 80%的请求, 4.8 小时发出 18 亿微博评论
平均每秒评论量为 105k
假设每个用户平均每天观看 100 条微博,则每天的微博数=224 亿条
平均每秒观看量为 1005k
2. 非热点事件时的高性能计算架构
2.1 业务特性分析
微博评论是一个典型的读多写多操作,但微博评论后不能修改,非常适合缓存架构,同时请求量比较大,也需要负载均衡
2.2 架构分析
用户量过亿,要采用多级负载均衡
微博评论适合多级缓存架构,可以采用 CDN 缓存等技术
2.3 架构设计
发微博的多级负载均衡架构

看微博评论的多级负载均衡架构

看微博评论的多级缓存架构

3. 热点事件时的高可用计算架构
热门事件,如明星爆料,官宣等微博
3.1 业务特性分析
热点事件发生后,会导致绝大多数请求都落在某一个热点微博上,针对这条微博的请求量会非常大
3.2 架构设计分析
看微博评论,热点事件微博存在缓存热点问题,可以考虑多副本缓存

评论