写点什么

微信朋友圈高性能分析

作者:swallowluo
  • 2021 年 12 月 19 日
  • 本文字数:560 字

    阅读完需:约 2 分钟

1. 朋友圈高性能业务指标

截至 2018 年底,微信及 WeChat 的合并月活跃账户数增至约 10. 98 亿。每天平均有超过 7. 5 亿微信用户阅读朋友圈的发帖朋友圈日浏览量超过一百亿次。

2.高性能复杂度分析

假设朋友圈的浏览量中,有 10%会发朋友圈,另外 10%会点赞或者评论

1、发朋友圈,10 亿/天,按照二八原则,峰值约 4.6 万 TPS

2、发表点赞、评论,10 亿/天,按照二八原则,峰值约 4.6 万 TPS

3、浏览朋友圈(包括浏览点赞和评论),100 亿/天,按照二八原则,峰值约 46 万 QPS

3.朋友圈高性能方案


4.朋友圈总体架构图


5. 设计理由

1、来自微信客户端的请求,按照请求类型分发到不同服务集群。

2、同一类型的请求,按照负载均衡规则分发到不同的服务器。

3、发表朋友圈的信息,按照微信 ID 进行分片,存储在不同的 MySQL 数据库节点中,同时存储在 Redis 集群中,图片、视频等静态信息写入对象存储中。

4、点赞和评论信息,按照发表原始信息的微信 ID 进行分片,存储在不同的 MySQL 数据库节点中,同时存储在 Redis 集群中,使得同一条朋友圈的原始信息、点赞和评论信息在同一个数据库和缓存节点中,便于查询。

5、Redis 缓存中只存放近期(例如:近几天)的朋友圈信息,超过时间期限的信息被清理。

6、浏览朋友圈时,优先从 Redis 中查询,查找不到的则从数据库中查询。

7、图片、视频等静态信息从对象存储中获取。

8、多机房部署时,采用相同的架构进行部署。

用户头像

swallowluo

关注

还未添加个人签名 2020.09.11 加入

还未添加个人简介

评论

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