写点什么

架构实战营 - 模块二作业

作者:Geek_92ba6f
  • 2022-10-16
    天津
  • 本文字数:656 字

    阅读完需:约 1 分钟

微信朋友圈高性能复杂度分析及架构设计


作业要求

1、对照模块 2 讲述的复杂度分析方法,分析微信朋友圈的复杂度;

2、针对各个复杂度,画出你的架构设计方案(无需做备选方案,只需要最终的方案即可);

3、给出你的架构方案中关键的设计理由。

4、3~5 页 PPT 即可,涵盖复杂度分析、架构设计、设计理由。


微信朋友圈数据及业务指标

每天有 10.9 亿用户打开微信,有 7.8 亿用户进入朋友圈

1 月 19 日晚,在微信公开课 Pro 上,微信创始人张小龙披露微信最新数据:每天有 10.9 亿用户打开微信,3.3 亿用户进行了视频通话;有 7.8 亿用户进入朋友圈,1.2 亿用户发表朋友圈,其中照片 6.7 亿张,短视频 1 亿条;有 3.6 亿用户读公众号文章,4 亿用户使用小程序。


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

1、查看朋友圈

假设 7.8 亿用户每天查看 10 次朋友圈,QPS:7.8 亿*10/24*60*60,约为 9 万/TPS

2、发布朋友圈

假设 1.2 亿用户没人发布 5 个朋友圈,TPS:1.2 亿*5/24*60*60,约 7000/TPS

3、评论点赞朋友圈

假设每个发布朋友圈有 5 个评论或点赞,TPS:约为 3.5 万/TPS


微信朋友圈高性能方案

查看朋友圈


发布朋友圈


朋友圈点赞评论


微信朋友圈整体架构图

单机房示意图


微信朋友圈整体架构思路

1、根据朋友圈业务复杂度以及访问量等数据,可以判断业务复杂度较低,但高性能复杂度很高,对高可用要求相对较低,对高性能要求较高。

2、基于朋友圈的关系特性,数据存储应基于关系型数据库;出于高性能要求考虑,可先采用 Redis 缓存数据,再将数据持久化到数据库。

3、考虑查看朋友圈高峰时期的访问量,可以将数据由数据库加载到 redis 缓存,应用直接访问 Redis 集群方式快速获取数据。

用户头像

Geek_92ba6f

关注

还未添加个人签名 2022-09-20 加入

还未添加个人简介

评论

发布
暂无评论
架构实战营 - 模块二作业_架构设计_Geek_92ba6f_InfoQ写作社区