微信朋友圈高性能复杂度分析
作业要求
分析一下微信朋友圈的高性能复杂度
【作业要求】
对照模块 2 讲述的复杂度分析方法,分析微信朋友圈的复杂度。
针对各个复杂度,画出你的架构设计方案(无需做备选方案,只需要最终的方案即可)。
给出你的架构方案中关键的设计理由。
3~5 页 PPT 即可,涵盖复杂度分析、架构设计、设计理由。
业务指标
IT 之家 1 月 19 日消息 在微信公开课 Pro 直播演讲中,微信创始人张小龙披露微信最新数据:每天有 10.9 亿人打开微信,3.3 亿人进行视频通话,7.8 亿人进入朋友圈,1.2 亿人发朋友圈,朋友圈每天有 1 亿条视频内容,3.6 亿公众号,4 亿用户使用小程序。每天有 3.6 亿人进入公众号,4 亿用户使用小程序。
高性能复杂度分析
发朋友圈:1.2 亿人发朋友圈,每天有 1 亿条视频内容,假设一天有 3 亿条朋友圈内容,估算为 5k TPS,考虑到发朋友圈主要集中在早上和晚上,将其性能估算为 1.5w TPS。
看朋友圈:7.8 亿人进入朋友圈,假设平均每人每天进入 5 次,则为 39 亿次,平均每秒 4.5w QPS,考虑到朋友圈浏览高峰期为白天,将其性能估算为 7w QPS。
点赞:假设浏览人次中,有三分之二的人都会点赞,每秒 4.5w * 2 / 3 = 3w TPS,考虑到朋友圈浏览高峰期为白天,将其性能估算为 5w TPS。
评论:假设浏览人次中,有三分之一的人会评论,每秒 4.5w * 1 / 3=1.5w TPS,考虑到朋友圈浏览高峰期为白天,将其性能估算为 3w TPS。
![](https://static001.geekbang.org/infoq/5f/5fc214597e6560d353eed3a7dd4e094e.png)
架构设计方案
发朋友圈
方案:
应用服务器采用负载均衡
发布的朋友圈数据存储到关系型数据库
图片、视频等文件存入 OBS 服务器中
高性能方案
![](https://static001.geekbang.org/infoq/ca/cac7c6a8154063c50104e1aaa64733d9.png)
架构图
![](https://static001.geekbang.org/infoq/f2/f2f3fc4dc0972a3742b6add11d39d34e.png)
看朋友圈
方案:
应用服务器采用负载均衡
朋友圈信息缓存到 Redis 中
图片、视频等文件采用分布式文件服务分流,缓解应用服务器压力
高性能方案
![](https://static001.geekbang.org/infoq/db/db82e206ee1df43879e1d773b8c38f02.png)
架构图
![](https://static001.geekbang.org/infoq/77/77ccf48f646f5e6130d3126d5d980d6b.png)
点赞
方案:
应用服务器采用负载均衡
点赞信息存储到 Redis Dict 中
高性能方案
![](https://static001.geekbang.org/infoq/e2/e207d392fa4326d850ef7715cf7b9d53.png)
架构图
![](https://static001.geekbang.org/infoq/77/77ccf48f646f5e6130d3126d5d980d6b.png)
评论
方案:
应用服务器采用负载均衡
点赞信息存储到 Redis Dict 中
高性能方案
![](https://static001.geekbang.org/infoq/c1/c12d230ec6a07069f6b32e4786357b21.png)
架构图
![](https://static001.geekbang.org/infoq/77/77ccf48f646f5e6130d3126d5d980d6b.png)
整体架构
方案:
朋友圈每天的访问量和写入数据量庞大,因此需要采用多机房部署
由于发布朋友圈、评论、点赞和查看操作可能聚集在某些时间段内,因此可以先把数据写入缓存中,等并发量不是太大时,再将数据落盘。
高性能方案
![](https://static001.geekbang.org/infoq/7c/7cca1f2cee1b4afa13347c5d81261a8d.png)
架构图
![](https://static001.geekbang.org/infoq/01/011708f80b31d716edec3b0803cef6a7.png)
版权声明: 本文为 InfoQ 作者【看,有只猪】的原创文章。
原文链接:【http://xie.infoq.cn/article/9f7e445e915ca14ff7fa995e6】。文章转载请联系作者。
评论