模块二
一、微信朋友圈的高性能复杂度
1、要求
对照模块 2 讲述的复杂度分析方法,分析微信朋友圈的复杂度。
针对各个复杂度,画出你的架构设计方案(无需做备选方案,只需要最终的方案即可)。
给出你的架构方案中关键的设计理由。
3~5 页 PPT 即可,涵盖复杂度分析、架构设计、设计理由。
2、朋友圈复杂度分析:
2.1、业务数据:
根据统计,目前每天有 7.8 亿人进入朋友圈,1.2 亿人发朋友圈。
2.2、业务复杂度分析
业务复杂度:
朋友圈主要业务为发动态、评论/点赞、查看朋友圈。
总体来说业务复杂度较低。
质量复杂度:
1)假定每人每天发动态 1 次:1.2 亿 / 86400 = 1400 TPS。
2)假定每条动态获得评论/点赞 10 个:1.2 亿*10 / 86400 = 14000 TPS。
3)假定每人每天查看朋友圈为 10 次:7.8 亿 * 10 / 86400 = 90000 QPS。
4)假定整体的峰值为平均 QPS 的 5 倍。
总体来说质量复杂度较高。
3、朋友圈高性能架构方案
3.1、发动态业务方案
3.2、点赞/评论业务方案
3.3、看朋友圈业务方案
3.4、整合后方案
3.5、最终架构方案--单机房示意图
3.6、选择该方案理由
1、朋友圈的并发写入量非常大,但朋友圈整体业务的实时性和一致性要求并不高。
2、实际上,微信有多个数据中心,朋友圈作为微信子业务也会分布不同的数据中心。
评论