美文网首页
模块2作业 朋友圈高性能复杂度

模块2作业 朋友圈高性能复杂度

作者: 浩哥有料 | 来源:发表于2021-04-19 01:08 被阅读0次

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

【作业要求】
对照模块 2 讲述的复杂度分析方法,分析微信朋友圈的复杂度;
针对各个复杂度,画出你的架构设计方案(无需做备选方案,只需要最终的方案即可);
给出你的架构方案中关键的设计理由。
3~5 页 PPT 即可,涵盖复杂度分析、架构设计、设计理由。

朋友圈业务指标


根据https://www.ithome.com/0/530/979.htm中的最新数据,当前微信朋友圈的日活用户数达到7.8亿,每天有1.2亿人发朋友圈。

朋友圈高性能复杂度分析

微信的活跃用户数非常多,朋友圈的并发访问量极大,且在节假日尤其是春节期间峰值流量会达到平时的2倍以上。根据最新数据可以计算出,微信朋友圈的访问峰值流量为7.8亿/864002=1.8万QPS,而发布峰值流量则为1.2亿/864002=2777TPS。

朋友圈的点赞评论发布频率通常高于朋友圈本身内容的发布频率,假设每条朋友圈平均会带来10个点赞或评论,则点赞评论的发布峰值流量约为2.77万TPS。


朋友圈高性能架构方案


架构方案设计理由

  1. 朋友圈的并发写入量非常大,使用消息队列可以应对峰值请求量过大时发生阻塞,朋友圈整体业务的实时性和一致性要求并不高,借助消息队列可以将朋友圈的写入操作变为异步操作,提高响应性。
  2. 朋友圈是基于朋友关系而建立的,其本身的存储应当基于关系数据库模型,但是针对每个用户的朋友圈消息流,可以预先对其进行异步计算,然后存储到Redis缓存中,甚至直接推送到客户端,加速用户浏览朋友圈时的性能。
  3. 点赞和评论的写入量高于朋友圈发布量,且要求及时看到发布效果,因此选择使用Redis存储点赞和评论数据。

相关文章

  • 模块2作业 朋友圈高性能复杂度

    分析一下微信朋友圈的高性能复杂度 【作业要求】对照模块 2 讲述的复杂度分析方法,分析微信朋友圈的复杂度;针对各个...

  • 架构训练营模块二作业

    分析一下微信朋友圈的高性能复杂度【作业要求】 对照模块2讲述的复杂度分析方法,分析微信朋友圈的复杂度。 针对各个复...

  • 004 复杂度来源:高性能

    复杂度的体现 单台计算机内部为了高性能带来的复杂度 多台计算机集群为了高性能带来的复杂度 单机复杂度 计算机内部复...

  • 转:棋牌游戏服务器设计(1)

    一、项目划分 框架依赖的模块 1.高性能webserver--express模块 热更新 语音对话 2.webso...

  • 04 复杂度来源:高性能(读书笔记)

    高性能带来的复杂度之单机复杂度 单机为了实现高性能,引入了进程,但是还要考虑多进程、多线程、进程间通信、多线程并发...

  • 模块2学习总结

    通过模块二的学习,我掌握了如何对需求进行拆解,从高性能、高可用、可扩展以及质量因素和成本因素等多个角度分析其复杂度...

  • 从零开始学架构

    第一章 架构基础 1.架构设计的复杂度来源 1.1 高性能 1.1.1单机复杂度 1.1.2集群复杂度 集群复杂度...

  • 安全策略

    密码复杂度和密码错误锁定 系统是pam_tally2模块使用方法pam_tally2.so [file=/path...

  • 架构的复杂度

    架构复杂度来自:高可用,高性能,可扩展性,安全,低成本等要求

  • 复杂度来源:高性能

    笔记 软件系统中高性能带来的复杂度主要体现在两方面,一方面是单台计算机内部为了高性能带来的复杂度;另一方面是多台计...

网友评论

      本文标题:模块2作业 朋友圈高性能复杂度

      本文链接:https://www.haomeiwen.com/subject/atvblltx.html