模块五 作业
设计微博系统中“微博评论”的高性能高可用计算
架构
一、需求
基于模块 5 第 6 课的微博实战案例,分析“微博评论”这个核心场景的业务特性,然后设计其高性能高可用计算架构,包括但不限于如下内容:
1.计算性能评估(不需要考虑存储性能);
2.非热点事件时的高性能计算架构,需要考虑是否要拆分独立的服务;
3.热点事件时的高可用计算架构
【提示】
1.分析方法对照“看微博”和“发微博”的案例。
二、计算性能评估
【用户量】2020.9 月月活 5.11 亿,日活 2.24 亿
【发微博数】发微博集中在早上 8:00-9:00,中午 12:00-13:00,晚上 20:00-22:00,假设这几个时间的发微博占比为 60%,则发微博 tps:10K/s
【评论微博数】评论微博也集中早上 8:00-9:00,中午 12:00-13:00,晚上 20:00-22:00,假设 20%的用户会评论微博,每人每天评论微博数为 10 条,这几个时间的发微博占比为 60%,则评论微博数 tps:20K/s
三、非热点事件时高性能计算架构
说明:
(1)为了审核用户的评论信息,评论需要用户登录状态,用户量过亿,需要用到多级负载均衡架构,覆盖 DNS-F5-Nginx-网关的多级负载均衡;
(2)评论微博分布式存储在服务器上,为了确保数据均衡分配,负载均衡算法选择“轮询”;
(3)评论微博依赖:内容审核、数据写入存储、数据写入缓存等几个模块,按照每个服务每秒处理 500 个请求估算,需要 40 台服务器,考虑到预留空间,需要 50 台服务器。
架构图与"发微博"的高性能计算架构一致。
四、热点事件时高性能计算架构
说明:
(1)造成热点事件的微博只有 1~2 条,假设针对热点微博在 60 分钟内有 10%的用户转发,假设 60 分钟内有 2%用户评论,且评论需经过审核通过才可以显示,可以对评论微博进行“排队”,但为了更好的用户体验,采用异步流程,界面提示等。
架构图与“转发微博”的高性能计算架构一致。
评论