微信朋友圈高性能架构分析与设计
业务背景
引用张小龙 2021 年 1 月 19 日对外公布的数据:每天有 7.8 亿用户进入朋友圈,1.2 亿用户发表朋友圈,其中照片 6.7 亿张,短视频 1 亿条。
复杂度分析
微信朋友圈是属于业务复杂度低,但质量复杂度高的系统。
业务复杂度方面,朋友圈只涉及发朋友圈、看朋友圈、评论或点赞朋友圈,以及朋友圈权限设置等,并没有复杂的业务模型,也没有较长的业务流程。
质量复杂度方面,根据上述发布业务信息和数据,假设用户每天使用微信朋友圈时段为早上 8:00 到晚上 20:00,以及性能分析的二八原则来看,发照片 TPS: 6.7 亿张×80%/8640 秒=62037 张/s,发短视频 TPS: 1 亿条×80%/8640 秒=9259 条/s;假设每天每条朋友圈平均被 7 个人查看过、评论或点赞,那么看照片 QPS: 6.7 亿张×7×80%/8640 秒=434260 张/s, 看视屏 QPS: 1 亿条×7×80%/8640 秒=64815 条/s,点赞和评论 TPS:1.2 亿×80%/8640 秒=11111/s。另外,朋友圈并需要很高的实时性,也不需要考虑数据强一致性,最终一致性即可。同时,照片和视频上传和下载都属于占用带宽和存储较大的对象,需要在存储服务器方面考虑读写性能较高的非关系型数据库。
朋友圈高性能方案-发
朋友圈高性能方案-看
朋友圈高性能方案-评论和点赞
整体架构图
版权声明: 本文为 InfoQ 作者【皓月】的原创文章。
原文链接:【http://xie.infoq.cn/article/a90695559a5bff42fff3bc2df】。文章转载请联系作者。
评论