Bootstrap

微信朋友圈高性能架构分析与设计

业务背景

引用张小龙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。另外,朋友圈并需要很高的实时性,也不需要考虑数据强一致性,最终一致性即可。同时,照片和视频上传和下载都属于占用带宽和存储较大的对象,需要在存储服务器方面考虑读写性能较高的非关系型数据库。

朋友圈高性能方案-发

朋友圈高性能方案-看

朋友圈高性能方案-评论和点赞

整体架构图