微信朋友圈的高性能复杂度
一、复杂度分析
朋友圈业务包括 发布朋友圈消息,评论,回复,广告等功能,业务相对简单。而微信用户日活跃用户已超过 2 亿,因此对于朋友圈的质量负载度要求很高,综上分析,负载度在左上的区间。
二、业绩指标
微信日活为 10.9 亿,3.3 亿用户进行了视频通话;有 7.8 亿用户进入朋友圈,1.2 亿用户发表朋友圈,其中照片 6.7 亿张,短视频 1 亿条;有 3.6 亿用户读公众号文章,4 亿用户使用小程序。这个运营数据是从网上可以找到的,重点分析朋友圈部分的用户。
微信朋友圈日活 7.8 亿,1.2 亿用户发表朋友圈。
三、复杂度分析
浏览朋友圈
朋友圈是一个按照时间线排序的 feed 流,每天有 7.8 亿人进入朋友圈,假设每人查看 10 条,利用二八原则,即每天 80%的朋友圈是在 20%的时间查看的,也就是 7.8*10*0.8=62 亿是在 5 小时内看的,平均每秒约等于 25 万条/秒
评论
假设每天平均发 2 条朋友圈,平均每条朋友圈 3 条评论,每天 80%的评论是在 20%的时间里发的,即约 1.9 亿条朋友圈是在 5 小时内发的,平均 2.3 万条/秒,峰值假设为 5 倍则为 16 万条/秒
发朋友圈
假设没人平均发 2 条朋友圈,每天 80%的朋友圈是在 20%的时间里发的,即约 1.9 亿条朋友圈是在 5 小时内发的,平均约 1 万条/秒 发朋友圈,峰值设为 5 倍则为 5 万条/秒
TPS= 5 万
四、朋友圈高性能方案
发朋友圈
五、朋友圈整体架构
多机房
单机房示意图
评论