写点什么

架构实战营 模块五课后作业

用户头像
iProcess
关注
发布于: 2021 年 06 月 06 日

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

【作业要求】

基于模块 5 第 6 课的微博实战案例,分析“微博评论”这个核心场景的业务特性,然后设计其高性能高可用

计算架构,包括但不限于如下内容:

1. 计算性能预估(不需要考虑存储性能);

2. 非热点事件时的高性能计算架构,需要考虑是否要拆分独立的服务;

3. 热点事件时的高可用计算架构。

 

计算性能预估

1、2020.9 月月活 5.11 亿,日活 2.24 亿(参考《微博 2020 用户发展报告》);

2、假设平均每天每人发 1 条微博(只考虑文字微博),则微博每天的发送量约为 2.5 亿条。评论微博的频率应该介于发微博和看微博之间,我们假设平均一条微博会有 10 条评论,则评论微博的总次数为 2.5 亿 x10 = 25 亿;

3、大部分人评论微博的时间段分布与发微博时间段基本重合,即高峰时段的四个小时占总量的 60%,那么这四个小时的平均评论微博的 TPS 计算如下:

25 亿 x 60% / (4x3600) = 100K/s


非热点事件时高性能计算架构

1、为了审核用户的评论信息,评论需要用户登录状态,用户量过亿,需要用到多级负载均衡架构,覆盖 DNS-F5-Nginx-网关的多级负载均衡;

2、评论微博分布式存储在服务器上,为了确保数据均衡分配,负载均衡算法选择“轮询”;

3、评论微博依赖:内容审核、数据写入存储、数据写入缓存等几个模块,按照每个服务每秒处理 500 个请求估算,需要 200 台服务器,考虑到预留空间,需要 250 台服务器。


热点事件时高性能计算架构

1、造成热点事件的微博只有 1~2 条,假设 30 分钟内有 1%-2%用户评论,且评论需经过审核通过才可以显示,可以对评论微博进行“排队”,或异步处理流程等。在异步处理过程中,做好任务调度,资源分配。采用限流、排队措施,保证磁盘写入业务流程高可用。拉取用户评论,采用降级、熔断措施,避免造成缓存穿透等情况发生。

发布于: 2021 年 06 月 06 日阅读数: 13
用户头像

iProcess

关注

还未添加个人签名 2018.03.06 加入

还未添加个人简介

评论

发布
暂无评论
架构实战营 模块五课后作业