模块五作业
一.计算性能评估
基于模块 5 第 6 课的实战案例,假设看微博的人当中只有 20%的人会评论微博,平均每条评论被 10 个人看,则读写微博评论的性能估计为:
写微博评论的 TPS 为:2.5 亿 × 100 × 0.6 × 0.2 / 4(小时) = 200k/s
读微博评论的 QPS 为:200k/s × 10 = 2000k/s
二.非热点事件场景的高性能计算架构
1.设计分析
1.1 写评论
(1)写操作,评论不能丢,不能直接写缓存
(2)用户量过亿,请求次数多,需要使用多级负载均衡架构,即 DNS -> F5 -> Nginx -> 网关
(3)评论涉及内容审核(依赖审核系统)、数据写入存储(依赖存储系统)、数据写入缓存(依赖缓存系统)。假定一台服务器处理能力 1000TPS,完成 200k/s 的 TPS,需要 200 台服务器。预留 10%余量,共需 220 台服务器。
1.2 读评论
读评论采用多级缓存架构,与读微博缓存架构一致即可
2.多级负载架构设计
3.缓存架构设计
三.热点事件场景的高性能计算架构
热点事件是指:知名大 V 或明星,爆料或官宣,引起大量用户在短事件内大量读取和评论。
因为热点事件具有不确定性,所以热点事件在发生时,会给系统造成很大压力。由于热点事件无法预估,针对热点事件做好系统保护即可。
1.写评论
漏桶算法限流,由下游系统处理能力决定流出速度,注意漏桶容量,避免溢出丢弃评论,添加告警和降级,保证溢出部分可以被追溯。
2.读评论
与读热点微博一样,采用 redis 多副本缓存设计
评论