美文网首页
模块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作业 朋友圈高性能复杂度

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