模块二作业
一、题目
分析一下微信朋友圈的高性能复杂度。
二、需求分析
2021 微信之夜张小龙演讲公布了一组数据:
每天有 10.9 亿用户打开微信,3.3 亿用户进行了视频通话;
每天有 7.8 亿用户进入朋友圈,1.2 亿用户发表朋友圈,其中照片 6.7 亿张,短视频 1 亿条。最近一年,视频朋友圈的数量翻了 10 倍;
每天有 3.6 亿用户读公众号文章,4 亿用户使用小程序;
最近 5 年,用户每天发送的视频消息数量上升 33 倍,朋友圈视频发表数上升 10 倍;
有 1.2 亿人设置了拍一拍的尾巴,每天几千万人在用拍一拍;
每天大概只有 100 多万人在发视频动态;
越来越多的人在朋友圈设置三天可见,可能有 2 亿人次以上。
关键数据:每天有 7.8 亿用户进入朋友圈,1.2 亿用户发表朋友圈,其中照片 6.7 亿张,短视频 1 亿条。最近一年,视频朋友圈的数量翻了 10 倍。
预估计算:
发朋友圈:假设每天每人平均发 2 条,1.2 亿*2/24/60/60*3(峰值)*6(冗余) =5 万
刷朋友圈:假设每天每人刷 10 次朋友圈,7.8 亿*10/86400*3*6=162.5 万
评论/点赞:假设每 4 次进行一次评论或者点赞,162.5 万/4=40.625 万
三、朋友圈高性能复杂度分析
四、微信朋友圈架构
已经发布的朋友圈动态变化较小,且发布内容被重复查看,特别是一些热点内容,所以采用了 Redis Cluster。
一般而言,朋友圈查看内容离当前日期不久远,可根据时间来分库分表来搭建数据库集群。
Nginx:服务调度,实现负载均衡。
评论