微博评论高性能高可用计算架构
一、计算性能评估
1.1 用户量预估
2020.9 月月活 2.24 亿(参考微博 2020 用户发展报告)。
1.2 用户行为(评论微博)建模
常规状态的建模:
假设平均每 10 条微博会有 1 条评论(不包含点赞),则评论微博的次数 2500 万。
大部分人评论微博的时间集中在晚饭后的 4 小时,则 TPS:2500 万*80%/(4*3600) = 1400/s
微博热点事件建模:
明星、大 V 以及一些突发事件的微博微博可能会在短时间内产生大量的评论。参考了几次热点事件的数据。在看微博服务整体可以撑住的情况下,评论 QPS 可以达到 15~20K/s。
二、评论微博架构设计
2.1 高性能架构整体分析
2.1.1 业务特性分析
评论微博是典型的写操作,不存在缓存,需要负载均衡。
2.1.2 架构分析
用户量过亿,使用多级负载均衡,DNS->F5->Nginx->网关。
2.1.3 架构设计
1.负载均衡算法选择
登录态使用分布式缓存存储,请求分发给任意的服务器都可以,负载均衡算法可以选择:“轮询”、“随机”。
2.业务服务器数量预估
关键处理:内容审核(依赖审核系统)、数据写入存储(依赖存储系统)、数据写入缓存(依赖缓存系统),假设单台服务器的处理能力是 500/s,完成 1400 的量则需要 3 台服务器,留一些空间,5 台服务器。
2.1.4 多级负载均架构
整体的 4 级负载均和架构是公司级别的基础设施,与看微博、发微博共用。
2.2 高可用架构整体分析
2.2.1 业务特性分析
评论微博的实时性要求不高,且重要度不高。
2.2.2 架构分析
对评论微博的操作进行限流。
2.2.3 高可用架构
版权声明: 本文为 InfoQ 作者【Trent】的原创文章。
原文链接:【http://xie.infoq.cn/article/073736ea0cedd53fc542bb020】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论