写点什么

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

作者:guodongq
  • 2021 年 12 月 19 日
  • 本文字数:641 字

    阅读完需:约 2 分钟

作业

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


一、微信朋友圈复杂度分析

微信朋友圈业务包含:

  • 发布朋友圈消息

  • 评论

  • 回复

  • 点赞

  • 广告

业务相对简单,微信日活跃用户超过 2 亿,对于微信朋友圈的质量负载要求比较高,经分析,负载度在左上区间


二、微信朋友圈高性能业务指标

背景

2021-01-19,张小龙在演讲中表示,每天有 10.9 亿用户打开微信,3.3 亿用户进行了视频通话;有 7.8 亿用户进入朋友圈,1.2 亿用户发表朋友圈,其中照片 6.7 亿张,短视频 1 亿条;

峰值预估


三、微信朋友圈高性能复杂度分析

  • 高性能:每天有 7.8 亿用户进入朋友圈,在高峰时段估峰值在千万级,并发量较大,对性能有一定的要求(在微信现有的技术体系下,主要考虑集群高性能)。

  • 高可用:作为一款社交娱乐产品,短暂的读不可用容忍度高;但用户数据不能丢失,需要保障数据高可用。

  • 可扩展:朋友圈业务相对比较简单,主要围绕帖子发布,点赞与评论,扩展性这块可以先不考虑。

  • 成本和安全:微信作为主流社交产品,成本这块不会是瓶颈;安全这块由于涉及到用户数据,需要考虑朋友圈个人隐私保护,采用数据加密及产品解决方案。


四、微信朋友圈架构图


五、微信朋友圈架构设计理由

  1. 朋友圈的质量复杂度高,业务复杂度低

  2. 朋友圈计算高性能可适用已有的网络模型、进程模型、缓存模型

  3. 朋友圈存储模型选用 MySQL 集群,通过 Sharding-JDBC 分库分表

  4. 朋友圈架构设计增加弹性扩缩容

  5. 朋友圈业务逻辑不拆分服务,发表、点赞、评论数据需要分库分表

  6. 朋友圈中绝大部分是照片或视频,需要文件服务器进行存储(选用 Hbase 集群)

  7. 利用 redis 集群存储点赞以及评论,提高性能


用户头像

guodongq

关注

还未添加个人签名 2019.09.04 加入

还未添加个人简介

评论

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