写点什么

微信朋友圈之高性能架构设计

作者:Geek_7d539e
  • 2022-12-18
    福建
  • 本文字数:647 字

    阅读完需:约 2 分钟

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

截止到 2015 年 7 月,微信每月活跃用户约 5.49 亿,朋友圈每天的发表量(包括赞和评论)超过 10 亿,浏览量超过 100 亿。得益于 4G 网络的发展,以上数据仍有很快的增长,而且相对于 PC 互联网时代,移动互联网时代的峰值要来得更加凶猛。比如,2015 年元月的流量到了平时的 2 倍,而峰值则达到了平时峰值的 2 倍,相当于平时正常流量的 5 倍,这对整个系统的考验是很残酷的。

引自https://blog.csdn.net/u012244016/article/details/70664959


2、业务场景分析


3、推模式方案

每个用户都有一个动态库,假如平均好友数是 200 人

平时 tps = 10 亿/(24 3600) ≈ 1 万 * 200 2 百万

平时 qps = 100 亿/(24 * 3600) ≈ 10 万


高峰 tps = 2 平时 tps ≈ 2 万 * 200 4 百万

高峰 qps = 2 * 平时 qps ≈ 20 万


4、拉模式方案

假如平均好友数是 200 人

平时 tps = 10 亿/(24 3600) ≈ 1 万

平时 qps = 100 亿/(24 3600) ≈ 10 万 * 200 2 千万


高峰 tps = 2 平时 tps ≈ 2 万

高峰 qps = 2 * 平时 qps ≈ 20 万 * 200 4 千万


5、架构方案设计

假定使用推模式方案

6、总体架构图


7、设计理由

1、朋友圈动态分为 3 类:分享、点赞、评论,所以做了任务分解;

2、每类动态都需要高性能,进行了任务分配,可随机、轮询、hash 找到对应的服务器;

3、数据记录存储采用关系型数据集群,进行分库分表存储,对应的记录进行缓存,使用 redis cluster;

4、浏览动态时,优先从 Redis 中查询,查找不到再从数据库中查询;

5、图片、视频等静态信息从对象存储中获取,使用 CDN 就近网络分发;

6、多机房部署时,用相同的架构部署;

用户头像

Geek_7d539e

关注

还未添加个人签名 2020-06-12 加入

还未添加个人简介

评论

发布
暂无评论
微信朋友圈之高性能架构设计_Geek_7d539e_InfoQ写作社区