写点什么

架构实战营 - 模块二作业

用户头像
凯迪
关注
发布于: 2021 年 04 月 17 日

题目

分析一下微信朋友圈的高性能复杂度


答案

总体复杂度分析

微信朋友圈属于业务复杂度低,质量复杂度高的区间。


业务指标


针对于 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 缓存加速,按需引入双层缓存加速

  • 存储高性能

  • 存储模型:关系型数据库存储基础数据,对象存储存储短视频和图片数据。

  • 集群

  • 计算高性能

  • 任务分解:朋友圈写入评论服务和朋友圈列表服务拆分

  • 任务分配:负载均衡进行分配

  • 存储高性能

  • 任务分解:分库分表存储

  • 任务分配:负载均衡进行分配


朋友圈整体架构



发布于: 2021 年 04 月 17 日阅读数: 13
用户头像

凯迪

关注

环球梦还在,做自己! 2020.06.01 加入

记录一些日常的记录和随笔,回首往事有迹可循,人间一趟,难得清醒难得糊涂。

评论

发布
暂无评论
架构实战营 - 模块二作业