架构实战营模块五作业
“微博评论“高性能高可用计算架构
1.计算性能架构
用户量:2020.9 月月活 5.11 亿,日活 2.24 亿(参考《微博 2020 用户发展报告》)。
假设每 100 个看微博的人中有 1 人发布评论,发布评论的次数为:250 亿*0.01=2.5 亿
发布评论的时间段与看微博的时间段基本重合,发布评论的平均 TPS 为:2.5 亿*60%/(4*3600)≈10K/S。
查看评论的平均 QPS 计算如下: 250 亿 * 60% / (4*3600) = 1000K/s。
2.非热点事件时的高性能计算架构
发评论是一个典型的写操作,因此不能用缓存,可以用负载均衡。
用户量过亿,应该要用多级负载均衡架构,覆盖 DNS -> F5 -> Nginx -> 网关的四级负载均衡。
发布评论依赖登录状态,同时也与所评论微博相关,应当使用“轮询”或者“随机”算法。
按照一个服务每秒处理 500 来估算,完成 10K/s 的 TPS,需要 20 台服务器,加上 25%的预留量,25 台服务器足矣。
3.热点事件时的高性能计算架构
发评论:对“发评论”限流,由于转发能带来更好的传播,因此尽量少丢弃请求,考虑用“漏桶算法”的变种“写缓冲”。
看评论:热点事件微博存在缓存热点问题,可以考虑“多副本缓存”。
版权声明: 本文为 InfoQ 作者【zhongwy】的原创文章。
原文链接:【http://xie.infoq.cn/article/863d7bba77ab44d048034bac3】。未经作者许可,禁止转载。
评论