架构训练营作业 - 模块 2
业务指标
截止到 2015 年 7 月,微信每月活跃用户约 5.49 亿,朋友圈每天的发表量(包括赞和评论)超过 10 亿,浏览量超过 100 亿。
2015 年元月的流量到了平时的 2 倍,而峰值则达到了平时峰值的 2 倍,相当于平时正常流量的 5 倍。
张小龙在微信公开课上透露有四分之三的用户会每天刷一刷朋友圈,并且每天刷个十几次。
2021 年 1 月 19 日,腾讯高级执行副总裁、微信事业群总裁张小龙在“2021 微信公开课 PRO”的微信之夜上,腾讯高级副总裁,微信事业群总裁张小龙透露,每天有 10.9 亿用户打开微信,3.3 亿用户进行了视频通话;有 7.8 亿用户进入朋友圈,1.2 亿用户发表朋友圈,其中照片 6.7 亿张,短视频 1 亿条;有 3.6 亿用户读公众号文章,4 亿用户使用小程序。
复杂度分析
对于微信朋友圈业务来说,有三个功能:发朋友圈、看朋友圈、评论,因此业务复杂度并不高。
根据业务指标来看,每天看朋友圈的人数 7.8 亿,1.2 亿用户发朋友圈,假如每个朋友圈 5 条评论,每个人刷十几次,节假日是平时 2 倍,因此朋友圈的质量复杂度很高,具体如下图。
朋友圈整体架构
考虑到朋友圈会发布照片和视频,这部分的存储最好和业务服务器分离开,使用单独的文件服务。
朋友圈写评论和发朋友圈相对较少,但是相对性能来说,更需要可靠性,使用 MySQL 分库分表一个是比 Redis 更低的成本,而且比内存存储可靠性也更好。
朋友圈读取的量很多,而且一个人发布的朋友圈会被很多人(朋友)读取,这里会用 Redis 集群加速查询,存储最近发布的朋友圈。
评论