写点什么

微信朋友圈架构设计

用户头像
summer
关注
发布于: 4 小时前
微信朋友圈架构设计

作业

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

【作业要求】

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

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

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

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


数据背景:

微信 2021 年 1 月 19 日最新数据:

  1. 总用户量做到 10 亿的规模

  2. 每天——

有 10.9 亿用户打开微信,3.3 亿用户进行了视频通话

有 7.8 亿用户进入朋友圈,1.2 亿用户发表朋友圈

有 3.6 亿用户读公众号文章,4 亿用户使用小程序

分析

微信整体的业务复杂度很高,但是针对朋友圈业务来讲,

质量复杂度比较高,且跟节日相关性强,相对而言业务复杂度较低。因而针对高性能维度进行架构设计。

复杂度总体分析:

  1. 发朋友圈

假设 1.2 亿人每天发朋友圈条数为 5 条,

1.2 亿*5/天=1.2 亿*5/24*60*60s≈7000TPS

假设节假日峰值为平均值的 100 倍,则发朋友圈的 TPS 为 70w

  1. 进入查看朋友圈

7.8 亿用户每天查看 10 次朋友圈,QPS 计算为:

7.8 亿*10/24*60*60s≈9wTPS

假设发一条朋友圈同时有 10 个人在查看,即假设峰值为平均值的 10 倍,则查看朋友圈的 QPS 约为 100w

  1. 评论/点赞朋友圈

假设发一条朋友圈同时有 2 个人点赞,峰值为平均值 2 倍,则评/赞的 TPS 为 20w


分别对发朋友圈、看朋友圈、评赞朋友圈进行分析:

最后得到单机架构图:

最后疑问:

对一些实现技术不是很理解,比如评赞朋友圈部分的架构设计,个人理解应该是关系数据库和 Redis,但是实现具体不知道如何实现。

发布于: 4 小时前阅读数: 5
用户头像

summer

关注

还未添加个人签名 2019.02.16 加入

还未添加个人简介

评论

发布
暂无评论
微信朋友圈架构设计