架构实战营 - 模块二作业
题目
分析一下微信朋友圈的高性能复杂度
答案
总体复杂度分析
微信朋友圈属于业务复杂度低,质量复杂度高的区间。
业务指标
针对于 2021 年腾讯公开的数据,每天有 10.9 亿用户打开微信,3.3 亿用户进行了视频通话;有 7.8 亿用户进入朋友圈,1.2 亿用户发表朋友圈,其中照片 6.7 亿张,短视频 1 亿条;有 3.6 亿用户读公众号文章,4 亿用户使用小程序。
业务峰值指标和关键场景拆分
发朋友圈:按照 1.2 亿/24 小时/60 分钟/60 秒*4 倍峰值系数估算 tps 为 6K
查看朋友圈列表:按照 7.8 亿/24 小时/60 分钟/60 秒*4 倍查看和峰值系数,估算为 3.6W 的 qps
评论朋友圈: 按照每条朋友圈有 5 条评论来计算,大概是 3W 的 tps
点赞朋友圈: 按照每条朋友圈有 10 条赞来计算,大概是 6W 的 tps
注意:进行简单的拆分和整理架构,关系链/权限/广告/更新通知等情况暂不考虑。
复杂度分析应对
业务比较简单,主要看性能的复杂度分析,这里面主要是针对与高性能的情况。
单机
计算高性能
进程模型:复用已有
网络模型:复用已有
缓存模型:引入 redis 缓存加速,按需引入双层缓存加速
存储高性能
存储模型:关系型数据库存储基础数据,对象存储存储短视频和图片数据。
集群
计算高性能
任务分解:朋友圈写入评论服务和朋友圈列表服务拆分
任务分配:负载均衡进行分配
存储高性能
任务分解:分库分表存储
任务分配:负载均衡进行分配
朋友圈整体架构
版权声明: 本文为 InfoQ 作者【凯迪】的原创文章。
原文链接:【http://xie.infoq.cn/article/042242616a19fba1b0f53e0a2】。文章转载请联系作者。
评论