架构实战营 - 模块 2- 作业
分析微信朋友圈高性能方案,首先收集整理业务指标数据如下:

注:以上业务指标主要来源于微信公开课 PRO(2019-2020)及技术分享网文素材。
针对以上业务指标数据,分析系统对 QPS 及 TPS 的要求如下:

基于上述分析,对朋友圈业务单机、集群高性能复杂度进行梳理分析,汇总后要点如下:

由此得出朋友圈业务整体架构图:

附加说明:
选择 MongoDB 的原因:
1) 朋友圈业务中的核心数据——文本及评论数据与 MongoDB 提供的文档数据能力契合度高,且 MongoDB 自带集群及数据分片能力,可简化开发、避免额外的分库分表组件。
2) 新版 MongoDB 已支持基本的关联查询操作,朋友圈业务中没有复杂的关联查询,MongoDB 可以满足要求。
针对各业务模块的复杂度分析思考要点见下表所示:

评论