微信朋友圈架构设计
作业
分析一下微信朋友圈的高性能复杂度
【作业要求】
1. 对照模块 2 讲述的复杂度分析方法,分析微信朋友圈的复杂度。
2. 针对各个复杂度,画出你的架构设计方案(无需做备选方案,只需要最终的方案即可)。
3. 给出你的架构方案中关键的设计理由。
4. 3~5 页 PPT 即可,涵盖复杂度分析、架构设计、设计理由。
数据背景:
微信 2021 年 1 月 19 日最新数据:
总用户量做到 10 亿的规模
每天——
有 10.9 亿用户打开微信,3.3 亿用户进行了视频通话
有 7.8 亿用户进入朋友圈,1.2 亿用户发表朋友圈
有 3.6 亿用户读公众号文章,4 亿用户使用小程序
分析
微信整体的业务复杂度很高,但是针对朋友圈业务来讲,
质量复杂度比较高,且跟节日相关性强,相对而言业务复杂度较低。因而针对高性能维度进行架构设计。
复杂度总体分析:
发朋友圈
假设 1.2 亿人每天发朋友圈条数为 5 条,
1.2 亿*5/天=1.2 亿*5/24*60*60s≈7000TPS
假设节假日峰值为平均值的 100 倍,则发朋友圈的 TPS 为 70w
进入查看朋友圈
7.8 亿用户每天查看 10 次朋友圈,QPS 计算为:
7.8 亿*10/24*60*60s≈9wTPS
假设发一条朋友圈同时有 10 个人在查看,即假设峰值为平均值的 10 倍,则查看朋友圈的 QPS 约为 100w
评论/点赞朋友圈
假设发一条朋友圈同时有 2 个人点赞,峰值为平均值 2 倍,则评/赞的 TPS 为 20w
分别对发朋友圈、看朋友圈、评赞朋友圈进行分析:
最后得到单机架构图:
最后疑问:
对一些实现技术不是很理解,比如评赞朋友圈部分的架构设计,个人理解应该是关系数据库和 Redis,但是实现具体不知道如何实现。
版权声明: 本文为 InfoQ 作者【summer】的原创文章。
原文链接:【http://xie.infoq.cn/article/cbff85b2f0f89f2a94e3b06f5】。文章转载请联系作者。
评论