[架构实战营] 模块二作业
一、微信朋友圈高性能复杂度分析
1、背景引入:
引用:2021 年 1 月 19 日消息 在微信公开课 Pro 直播演讲中,微信创始人张小龙披露微信最新数据:每天有 10.9 亿人打开微信,3.3 亿人进行视频通话,7.8 亿人进入朋友圈,1.2 亿人发朋友圈,朋友圈每天有 1 亿条视频内容,3.6 亿公众号,4 亿用户使用小程序。
2、拆解分析,拆分发表状态、评论、点赞来逐个分析复杂度情况
提取朋友圈关键信息,发朋友圈 TPS:1.2 亿/天=1389 ,如果多数人(按 3/4 算)在晚间(7:00~01:00)发布,TPS=4167。假设每发表状态都有 10 个点赞、回复,点赞回复 TPS : 4167*10 = 41670。浏览的 QPS :7.8 亿/天= 9029
朋友圈业务复杂度低,发状态,点赞,回复,所以在整体设计在计算高性能上不在做服务的拆分,只做任务的分配负载均衡,发布状态、评论与点赞在数据上作了分离,使用关系数据存储和缓存。
微信朋友圈数据量大,涉及大量图片和视频,需要存储高性能,要双机房。
3、总体设计。结合上面的拆解总结设计如下
4、其他说明
本设计,考虑发布状态和评论功能要求相近,采用统一架构方案更加节省成本。
主要功能也是围绕存储高性能设计
评论