写点什么

架构实战营第 4 期 -- 模块二作业

  • 2021 年 12 月 10 日
  • 本文字数:447 字

    阅读完需:约 1 分钟

微信朋友圈高性能复杂度

作业要求

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

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

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

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

PPT











设计理由

此次微信朋友圈的高性能复杂分析,参考模块二第 5 课完成。

理由如下:

  1. 除去金融交易、和具体的算法实现的部分,二者其他业务场景有相似之处;

  2. 朋友圈发动态,可以类比微信群发红包;动态展现的范围,正如红包仅限于该群之中;

  3. 朋友圈评论点赞,类比微信群抢红包;n 条评论点赞对应 1 条动态,n 次抢红包对应 1 个红包;

所以二者高性能架构有相似之处,除了细微处有区别:

  1. 朋友圈动态支持图片/视频,此类数据不适合用数据库存储,所以采用存放于 CDN,而数据库表里保存图片 URL;

  2. 评论点赞 TPS 要求较发动态高得多,但是不需要较高的一致性,可以使用 Redis 做优化;另外,此类数据仍需要落地,所以采用定时任务将 Redis 中的数据同步到数据库。

  3. 动态、评论数据按用户 ID 进行分库分表,避免跨库跨机房查询。

用户头像

还未添加个人签名 2020.03.04 加入

还未添加个人简介

评论

发布
暂无评论
架构实战营第 4 期 -- 模块二作业