架构实战营 - 模块二 - 微信朋友圈的高性能复杂度分析
一、朋友圈高性能分析业务指标分析
2021 年 1 月 19 日,张小龙在演讲中表示,每天有 10.9 亿用户打开微信,3.3 亿用户进行了视频通话;有 7.8 亿用户进入朋友圈,1.2 亿用户发表朋友圈,其中照片 6.7 亿张,短视频 1 亿条。
发朋友圈平均 TPS=7.7 亿/86400s,近似于 1 万 TPS;
假设峰值是平均值的 10 倍,则发朋友圈最大 TPS 为 10 万 TPS
看朋友圈人数最大为 7.8 亿-1.2 亿=6.6 亿,为发朋友圈的 5 倍;
假设单个用户平均每天看朋友圈数量为 5 个,可以估算看朋友圈 TPS 为 250 万 TPS
评论和点赞人数最大为 7.7 亿,平均每人点赞 5 个,评论 2 个;
可以估算评论 TPS=7.7 亿/86400 秒*2,近似 2 万 TPS
可以估算点赞 TPS=7.7 亿/86400 秒*5,近似 5 万 TPS
二、复杂度分析
三、设计理由
单机分析:
朋友圈发动态,本质上与 IM 发消息类似,素材形式也类似,图片、视频、纯文字
评论和点赞,本质上也是发消息,素材包括文字、表情
因此,单机不需要增加复杂度;
集群:
任务无需分解,只需分配
业务特点是读多写少,可以增加缓存,缓存和数据库都可以分片。
评论