写点什么

模块 2 作业

作者:Geek_701557
  • 2022 年 5 月 28 日
  • 本文字数:478 字

    阅读完需:约 2 分钟

通过网络查询到的信息:2021 微信公开课 PRO 在广州举办,根据微信事业群总裁张小龙披露目前每天有 10.9 亿用户打开微信,3.3 亿用户进行了视频通话;有 7.8 亿用户进入朋友圈,其中有 1.2 亿用户发表朋友圈。


一》朋友圈高性能复杂度分析

1>假设每人一天发一条朋友圈,16 小时中发消息,TPS=1.2 亿/(16*3600)=2083,考虑到情人节或者除夕晚上 12 点等特殊时点,发朋友圈会突然增加,假设比平时高出 10 倍,那么 TPS=2 万

2>设同时评论 &点赞的人数为 5 个

3>朋友圈中,同时查看发出这条消息的人有 10 个


朋友圈复杂度分析


二》朋友圈高性能方案

高性能方案


三》朋友圈架构

朋友圈架构


四》设计理由

1》朋友圈的并发写入量大,使用消息队列可以应对峰值请求量过大时发生阻塞;

朋友圈是基于朋友关系而建立的,其本身的存储应当基于关系数据库模型,但是针对每个用户的朋友圈消息流,有视频、图片等,这些可以预先对用户 ID 进行运算,采用文档型数据库,如 mongodb 进行存储,同时采用 Kafka 缓存,将消息推送到手机。

2》点赞和评论要求及时看到发布效果,因此选择使用 kafka 缓存点赞和评论数据,也有利于提高别人查看速度。

3》查看朋友圈,需要本地缓存,再加上服务端的 kafka,构成双缓存,有利于提高查询命中率。

用户头像

Geek_701557

关注

还未添加个人签名 2021.06.28 加入

还未添加个人简介

评论

发布
暂无评论
模块2作业_Geek_701557_InfoQ写作社区