架构实战营 - 模块五 - 作业
用户行为建模和性能估算
【用户量】
2020.9 月月活 5.11 亿,日活 2.24 亿(参考《微博 2020 用户发展报告》)。
【微博评论】
由于微博评论的频率介于发微博和看微博之间,初步预估每人每天发表 20 条评论,则微博每天的评论发送量约为 50 亿条。
大部分人评论微博的时间段和发微博的时间段基本重合,因此评论微博的 TPS 计算如下:
50 亿*60%/(4*3600)=200K/s
架构设计
【业务特性分析】
微博评论也是一个典型的写操作,所以不能用缓存,可以用负载均衡。
【架构分析】
用户量过亿,应该要用多级负载均衡架构,覆盖 DNS -> F5 -> Nginx -> 网关的多级负载均衡。
【架构设计】
1. 负载均衡算法选择
微博评论的时候依赖登录状态和评论的主贴 ID,登录状态一般都是保存在分布式缓存中的,因此发微博的时候,将请求发送给任意服务器都可以,这
里选择“轮询”或者“随机”算法。
2. 业务服务器数量估算
微博评论同样涉及几个关键的处理:内容审核(依赖审核系统)、数据写入存储(依赖存储系统)、数据写入缓存(依赖缓存系统),因
此按照一个服务每秒处理 500 来估算,完成 200K/s 的 TPS,需要 400 台服务器,加上一定的预留量,预估为 450 台服务器。
热点事件时的高可用计算架构
【架构设计分析】
在热点事件下,微博评论会在短时间内暴增,评论数量会集中在热点帖子下方,因此,可以参考热帖的转发架构设计,考虑对“评论微博”限流,由于评论能够调动用户的情绪和增加互动,因此尽量少丢弃请求,考虑用“漏桶算法”。
版权声明: 本文为 InfoQ 作者【michael】的原创文章。
原文链接:【http://xie.infoq.cn/article/9474fb1ca83f9d0a0cc9e608e】。未经作者许可,禁止转载。
评论