架构实战营 - 模块五作业
1. 微博评论计算性能估算
【用户量】
2020.9 月月活 5.11 亿,日活 2.24 亿(参考《微博 2020 用户发展报告》)。
【用户行为建模和性能估算】
由于绝大部分微博用户看微博的对象是大 V 和明细,因此我们假设平均一条微博观看人数有 100 次,评论人数有 10 次,则评论微博人数为:2.5 亿 * 10 = 25 亿
大部分人看微博的时间段和发微博时间段基本重合,因此评论微博的平均 TPS 计算如下:25 * 60% / (4*3600) = 100K/s
2.非热点事件高性能计算架构,需要考虑是否拆分独立服务
【业务特性分析】
微博评价是一个典型的写操作,因此不能使用缓存,可以用负载均衡。
【架构分析】
用户量过亿,应该要用多级负载均衡,覆盖 DNS->F5->Nginx->网关的多级负载均衡
【架构设计】
1.负载均衡算法选择
评论微博的时候依赖登录状态,登录状态一般保存在分布式缓存中,因此评论微博的时候,将请求发送给热议服务器都可以,这里选择“轮询”或者“随机”算法。
2.业务服务器数量估算
评论微博涉及关键的处理:数据写入存储(依赖存储系统)、数据写入缓存(依赖存储系统),因此按照一个服务每秒处理 700 来估算,完成 100K/s 的 TPS,需要 140 台,加上一定的预留量,最终机器数量为 170 台。
【微博高性能计算方案 - 整体架构设计】
任务分配 - 双机房、三机房
任务分解 - 发微博、看微博、评论微博拆分不同服务
3.热点事件高可用计算架构
【微博的多级负载均衡整体架构】
版权声明: 本文为 InfoQ 作者【随风King】的原创文章。
原文链接:【http://xie.infoq.cn/article/7c5633dde75f15ad769427836】。未经作者许可,禁止转载。
评论