微博系统中”微博评论“的高性能高可用计算架构设计
1、性能预估
用户量:2020.9 月月活 5.11 亿,日活 2.24 亿(参考《微博 2020 用户发展报告》)。
大部分的人看微博集中在早上 8:00~9:00 点,中午 12:00~13:00,晚上 20:00~22:00,评论也在这个时间段内。而且“评论”依赖于“看”。
假设看微博的人,有 20%会去写评论,根据华仔预估的看微博的 QPS,继续推算写评论的 TPS:
250 亿 * 60% / (4*3600) *20%= 200K/s。
2、高性能计算架构设计
微博评论是写操作,不需要缓存。
用户量过亿,需要使用多级负载均衡架构,包含:DNS->F5/LVS->NGINX->网关。
负载均衡算法:评论也依赖于登录状态,这里选择轮询或随机算法。
按照一个服务器每秒处理 500 来估算,完成 20k/s 的 TPS,需要 40 台服务器,预留一定的存量,按 50 台服务器估算。
微博评论高性能计算架构图如下:
3、热点事件的高可用架构设计
热点事件用户量无法预估,评论数量也无法预估,只能考虑预防,保证系统正常运行即可。这里使用限流,但不能丢弃用户的评论请求。可以采用漏斗算法实现。架构图如下:
版权声明: 本文为 InfoQ 作者【stars】的原创文章。
原文链接:【http://xie.infoq.cn/article/de6ac51f7024f49b61820d5d8】。未经作者许可,禁止转载。
评论