写点什么

极客时间架构训练营模块二作业

作者:李晨
  • 2022 年 10 月 06 日
    北京
  • 本文字数:423 字

    阅读完需:约 1 分钟

极客时间架构训练营模块二作业

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

场景分类

  1. 发布动态

  2. 点赞

  3. 评论

  4. 查看动态

业务指标

目前,每天有 7.8 亿人进入朋友圈,1.2 亿用户发表朋友圈(http://www.168wz.cn/xwxx/63096.html

数值预估

  1. 发布动态(假设每人每天发布一条动态):1.2 亿*1/(24 小时*3600 秒)约等于 1.4kTPS

  2. 点赞(假设每人每天点赞 10 条动态):7.8 亿*10/(24 小时*3600 秒)约等于 9wTPS

  3. 评论(假设每人每天评论 5 条动态):7.8 亿*5/(24 小时*3600 秒)约等于 4.5wTPS

  4. 查看动态(假设每人每天查看十条动态):7.8 亿*10/(24 小时*3600 秒)约等于 9wQPS

高性能复杂度分析

  1. 发布动态

发布动态高性能复杂度分析


发布动态架构图
  1. 点赞

点赞高性能复杂度分析


点赞架构图
  1. 评论

和点赞的高性能复杂度、架构图一致

  1. 查看动态

查看动态高性能复杂度分析

查看动态架构图同发布动态架构图

整体架构

朋友圈架构图(单机房)

设计理由

  1. 服务和存储都采用集群方式,提升可用性。使用 nginx 进行负载均衡

  2. 虽然发动态的 TPS 是千级别,但是点赞和评论的 TPS 已经到万级别,所以使用缓存

  3. 一般都是最近几天发布的动态被查看的概率最高,所以使用缓存存储这些热数据

  4. 动态中的图片、视频等非结构化数据使用 OSS 存储,并使用 CDN 服务进行访问加速

发布于: 刚刚阅读数: 3
用户头像

李晨

关注

stay hungry,stay foolish 2021.07.27 加入

鄙视"PPT架构师",立志成为一个能干实事的架构师

评论

发布
暂无评论
极客时间架构训练营模块二作业_架构_李晨_InfoQ写作社区