写点什么

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

作者:糖糖学编程
  • 2021 年 12 月 19 日
  • 本文字数:608 字

    阅读完需:约 2 分钟

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

朋友圈复杂度总体分析

朋友圈虽然依托于微信,有巨大的流量,功能不少,但主要功能还是以消息读取及展示、社交互动为主,对质量复杂度要求其实不用太高(少看一条不会引起质量事故),但业务复杂度相对高一些(广告、可见权限控制、消息更新、图片/视频压缩等),所以,我认为朋友圈属于高业务复杂度,低质量复杂度的业务。

朋友圈高性能复杂度分析

我分享一组数据吧,到今天,每天——

有 10.9 亿用户打开微信,3.3 亿用户进行了视频通话;

有 7.8 亿用户进入朋友圈,1.2 亿用户发表朋友圈,其中照片 6.7 亿张,短视频 1 亿条;

有 3.6 亿用户读公众号文章,4 亿用户使用小程序;


假设每个用户每天打开微信 5 次,每条朋友圈评论 5 条,点赞 5 次,

那么朋友圈高性能复杂度分析是这样的:


朋友圈高性能方案

由于朋友圈的业务量,不可能是单机部署,所以不需要考虑单机情况下的高性能方案,直接采用集群高性能方案。

朋友圈的发圈、看圈、评论、点赞都需要考虑计算高性能和存储高性能,因此,整体高性能方案分析如下图所示:

  • 发圈主要是图片/视频的快速上传、文件压缩,

  • 看圈主要是消息的快速获取(按人、按权限、按时间加载消息流),图片/视频的快速加载

  • 评论和点赞主要是消息的快速交换



整体方案上,

  • 业务集群采用分库分表来减轻数据压力、性能压力,并保持数据结构一致性;

  • 通过高性能缓存中间件来加快中间态信息的获取以及压力的缓冲

  • 集群部署起码需要两地三中心的部署架构,保证业务数据的可靠性及容灾能力

  • 图片/视频的存储和读取需要增加 CDN

发布于: 2 小时前阅读数: 5
用户头像

还未添加个人签名 2018.08.08 加入

还未添加个人简介

评论

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