微信朋友圈高性能复杂度分析
相关数据
在微信公开课 Pro 直播演讲中,微信创始人张小龙披露微信最新数据:每天有 10.9 亿人打开微信,3.3 亿人进行视频通话,7.8 亿人进入朋友圈,1.2 亿人发朋友圈,朋友圈每天有 1 亿条视频内容,3.6 亿公众号,4 亿用户使用小程序。每天有 3.6 亿人进入公众号,4 亿用户使用小程序。
其中,“7.8 亿人进入朋友圈,1.2 亿人发朋友圈,朋友圈每天有 1 亿条视频内容”,三个数据与朋友圈相关。
假设平均每人每天进入朋友圈 5 次,每人发 2 条朋友圈状态,每人为 5 个朋友点赞,为 1 个朋友写评论。这样每天朋友圈浏览次数为 39 亿,每天发布 2.4 亿条新状态,产生 6 亿个点赞,1.2 亿条评论。一天中不同时段朋友圈的使用频率差别会较大。通常在 0 点-早上 6 点使用频率很低,可以忽略不计。剩余 18 小时的平均值约为:
浏览朋友圈:6w/s
发布新状态:3.7k/s
点赞:9.2k/s
评论:1.8k/s
其中点赞与评价处理方式类似,合并为一类。然后再考虑到这 18 小时中社会上的热门新闻事件导致使用量激增,假设高峰期是平均值的 10 倍。这样得到的朋友圈高性能复杂度为:
浏览朋友圈:60w QPS
发布新状态:3.7w TPS
点赞+评论:11w TPS

高性能分析
发布朋友圈:

浏览朋友圈:

点赞+评论:

架构方案设计
将发布朋友圈时上传的图片视频等保存到分布式文件存储服务器,浏览朋友圈时系统通过数据库内容查找加载图片和视频。得到总体架构方案如下:

评论