微信朋友圈的高性能复杂度架构
作业要求:
分析一下微信朋友圈的高性能复杂度
【作业要求】
对照模块 2 讲述的复杂度分析方法,分析微信朋友圈的复杂度。
针对各个复杂度,画出你的架构设计方案(无需做备选方案,只需要最终的方案即可)。
给出你的架构方案中关键的设计理由。
3~5 页 PPT 即可,涵盖复杂度分析、架构设计、设计理由。
1、业务分析:
微信朋友圈业务指标
2021-01-19 20:32 在微信公开课 Pro 直播演讲中,微信创始人张小龙披露微信最新数据:每天有 1.9 亿人打开微信,3.3 亿人进行视频通话,7.8 亿人进入朋友圈,1.2 亿人发朋友圈,朋友圈每天有 1 亿条视频内容,3.6 亿公众号,4 亿用户使用小程序。朋友圈每天有 1 亿条视频内容
如果有 1.2 亿发朋友圈,那么发朋友圈 QPS= 1.2 亿 / (24 * 60 * 60) ≈ 1400,因此粗略按照 TPS 膨胀 2 倍来算,如下:QPS:1400*2≈3000
2、高性能架构设计方案:
朋友圈架构
3.总结
使用 Nginx 进行负载均衡,考虑使用 Hash 算法,任务分解调用不同服务集群。拆分为三个服务:动态服务、评论服务以及点赞服务,数据存储使用任务分解,使用 Redis 的 cluster 集群作为缓存,先读缓存,缓存中没有,则读数据库,然后写入缓存,mysql 集群分库分表,图片和视频使用文件数据库。
评论