写点什么

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

作者:Geek_16d2b8
  • 2022 年 2 月 13 日
  • 本文字数:478 字

    阅读完需:约 2 分钟

复杂度分析:

朋友圈的业务复杂度:朋友圈的业务主要有浏览、发动态、点赞和发评论等,业务复杂度较低

朋友圈的质量复杂度:朋友圈的用户众多,遍布全国各地,甚至国外也有大量用户,质量复杂度较高


微信日活跃用户达 10.9 亿,有 7.8 亿人每天翻看朋友圈,其中的 1.2 亿人会每天更新朋友圈。

大部分人是在工作之余翻看朋友圈,主要集中在早中晚,有些人在这些时间段都会翻看朋友圈

发动态:假设 1.2 亿人都在中午 2 小时发动态,TPS:1.2 亿/(2*60*60) = 2 万

浏览:假设 7.8 亿人都在中午 2 小时翻看了朋友圈,QPS:7.8 亿/(2*60*60) = 11 万

点赞:假设翻看朋友圈的人有一半的概率点赞,TPS:5.5 万

发评论:假设翻看朋友圈的人有 1 成发评论,TPS:1.1 万

动态发布:

发布的内容既包括文字又包括图片、视频等文件,因此需要关系数据库和文件存储服务器(如 FastDFS)


点赞和发评论:

点赞和发评论都是对某条动态的操作,可以将对某条动态的处理通过 hash 负载均衡到某台服务器上,

加一层 redis 缓存,先操作缓存,再同步到数据库


浏览:

需要读取每条动态的数据、文件,以及这条动态对应的点赞和评论


最终架构:

多机房部署,单机房架构如下



用户头像

Geek_16d2b8

关注

还未添加个人签名 2019.03.21 加入

还未添加个人简介

评论

发布
暂无评论
微信朋友圈的高性能复杂度