架构实战营模块 2 作业
分析一下微信朋友圈的高性能复杂度
【作业要求】
对照模块 2 讲述的复杂度分析方法,分析微信朋友圈的复杂度。
针对各个复杂度,画出你的架构设计方案(无需做备选方案,只需要最终的方案即可)。
给出你的架构方案中关键的设计理由。
3~5 页 PPT 即可,涵盖复杂度分析、架构设计、设计理由。
1 背景(来源:2021 微信公开课 PRO,张小龙演讲):
每天有 10.9 亿用户打开微信,3.3 亿用户进行了视频通话,7.8 亿用户进入朋友圈;1.2 亿用户发表朋友圈,其中照片 6.7 亿张,短视频 1 亿条;3.6 亿用户读公众号文章;4 亿用户使用小程序;最近五年,微信每天发送视频数量上升了 33 倍;峰值来临的时候,会是平时的 2 倍;刷朋友圈的时间主要集中在上下班的 6 小时中
2 朋友圈的复杂度分析:
浏览:假设每天 7.8 亿人刷朋友圈,每人每天刷 10 次
刷朋友圈的 QPS = 7.8 亿 x 10 x 2 / (60 x 60 x 6) ≈ 72 万/s
发动态:假设每天 1.2 亿发朋友圈,平均每天有 80%的发 2 条
发朋友圈的 TPS = 1.2 亿 x 2 x 2 / (60 x 60 x 6) ≈ 2 万/s
评论/点赞:假设每天 7.8 亿个刷朋友圈的人中有 50%的人,每人每天点赞/评论 2 次
发朋友圈的 TPS = 7.8 亿 x 0.5 x 2 x 2 / (60 x 60 x 6) ≈ 7 万/s
3 架构分析
4 最终架构图
评论