写点什么

架构实战营模块 2 作业

用户头像
竹林七贤
关注
发布于: 2021 年 04 月 18 日

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

【作业要求】

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

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

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

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

【提示】分析过程可以参考模块 2 第 5 课的实战案例,但是不需要将分析过程一一列举出来。如果某个地方被卡主了,请及时联系助教或者老师讨论。

1. 数据背景、分析和假设

1.1 朋友圈用户数据背景:

在微信公开课 Pro 直播演讲中,微信创始人张小龙披露微信最新数据:每天有 1.9 亿人打开微信,3.3 亿人进行视频通话,7.8 亿人进入朋友圈,1.2 亿人发朋友圈,朋友圈每天有 1 亿条视频内容,3.6 亿公众号,4 亿用户使用小程序。腾讯最新财报显示,微信月活跃用户突破 12 亿(合并 WeChat),成为中国互联网历史上第一款月活用户突破 10 亿的产品。

1.2 朋友圈主要业务场景:

  查看朋友圈,发朋友圈,点赞,评论。

1.3 朋友圈业务数据分析和假设:

1.每天的使用时间除去 9 小时睡眠时间,每天 15 小时。

2.访问量:峰值是平均值的 2 倍,人均每天访问 10 次朋友圈。

2.发布量:每天发布 2 条朋友圈。

3.点赞量:每天点赞 10 条朋友圈。

4.评论量:每天评论 5 个朋友圈。


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


3.朋友圈高性能方案---发朋友圈

3.1 发朋友圈---架构图

4. 朋友圈高性能方案---刷朋友圈

4.1 刷朋友圈---架构图

5. 微信朋友圈高性能方案---点赞、评论

5.1 点赞、评论架构图

6.微信朋友圈高性能方案---整体架构

6.1 整体架构---单机房

7.设计理由

微信朋友圈访问人数较多,通过 DNS 分配到不同区域集群,进行负载均衡,可以全国多机房部署,并进行数据同步,满足流量需求。

微信朋友圈访问和发朋友圈以及点赞评论,业务相对独立,且 TPS/QPS 差异较大,通过业务拆分,可以提高弹性和效率。

朋友圈应该读多写少,可以考虑读写分离。


用户头像

竹林七贤

关注

还未添加个人签名 2020.08.13 加入

还未添加个人简介

评论

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