微信朋友圈高性能架构复杂度分析
业务指标
2021 年初公开数据显示,每天有 10.9 亿人打开微信,3.3 亿人进行视频通话,7.8 亿人进入朋友圈,1.2 亿人发朋友圈,朋友圈每天有 1 亿条视频内容,3.6 亿公众号,4 亿用户使用小程序。
高性能复杂度分析
发朋友圈:假设每天每个用户发送 2 条朋友圈,其中 80% 的信息发送时间集中在 7:00 am - 8:00 pm,TPS = 2.4 亿 * 80% / 10 / 60 / 60 = 5333
读朋友圈:假设每个朋友圈信息有 50 个好友阅读,QPS = 5333 * 50 = 266650
朋友圈整体架构图
设计理由
任务分配考虑负载均衡,至少需要 LVS 和 Nginx,复用现有微信负载均衡架构。
任务分解考虑读写分离、分库分表和分布式缓存应对看朋友圈的高 QPS 场景。
计算高性能,只需要考虑看朋友圈时使用 Redis Cluster 缓存消息。
存储高性能,考虑社交网络人际关系,使用关系型数据库存储朋友圈消息,MQ 集群推送相关好友消息。
版权声明: 本文为 InfoQ 作者【Hesher】的原创文章。
原文链接:【http://xie.infoq.cn/article/f65a444a5a8be71b993965f4e】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论