[架构实战营一期] 模块二作业
分析微信朋友圈的高性能复杂度
业务背景和相关数据:
今年一月份在微信公开课 Pro 直播演讲中,张小龙披露微信最新数据:每天有 7.8 亿人进入朋友圈,1.2 亿人发朋友圈,朋友圈有 1 亿条视频内容。
PS:未找到峰值相关数据[大哭],不过粗略计算一下:
假设每人每天看三次朋友圈,点赞评论一次
发朋友圈:1.2 亿/86400 = 1504.62 TPS。
看朋友圈:7.9 亿*3/86400 = 27430.55 QPS
点赞/评论:7.9 亿*1/86400 = 9143.51 QPS
一、复杂度分析
朋友圈复杂度总体分析:
整体业务分为发朋友圈和看朋友圈,看朋友圈又可以点赞和评论。再加上公开的相关数据来结合分析得到结论:质量复杂度高,业务复杂度低。
对于朋友圈相关业务的 qps 不太好预估,每个人每天打开朋友圈的时间和频率都不一样。
二、架构设计
应对思路:
发:
看:
单机房:
双机房:
略
三、设计理由
在大公司现有的业务下直接才用自顶向下来设计,才用双机房或者三机房。进程模型、网络模型都不需要考虑复用现有即可,缓存模型不涉及,朋友圈相关数据随时可能更新,使用缓存带来的效果可能不理想,不过也许朋友圈的内容可以缓存,评论以及点赞不缓存,据实际观察,朋友圈的文字以及视频发布之后只能删除不能修改。发朋友圈的时候图片和视频需要任务拆分处理。
版权声明: 本文为 InfoQ 作者【trymorewang】的原创文章。
原文链接:【http://xie.infoq.cn/article/e64fc552652737d1c48c3b205】。文章转载请联系作者。
评论