朋友圈系统架构设计
朋友圈复杂度总体分析
朋友圈的业务相对比较简单: 发送朋友圈,查看朋友圈,点赞和评论。
但是朋友圈的质量复杂度比较高,尤其是高性能,考虑到使用微信的人特别多,尤其是在节假日会有使用的峰值出现。
根据上述分析,微信朋友圈应该属于下图的第一部分。
朋友圈高性能复杂度分析
数据背景:2021 年年第三季度统计,微信用户数已达到 12.6 亿。
1.发朋友圈: 假设每天有 5 分之一的人使用,并且这些用户每天发 3 条朋友圈。2.52 亿*3/3600/24 =8750TPS,节假日的峰值为这个数字的 100 被,有 87.5w TPS
2.看朋友圈:假设有 10 亿用户每天看 10 次,QPS 为 11.574w, 节假日的峰值为这个数字的 50 倍,峰值为 500w QPS
点赞,每发一条朋友圈,平均有三个赞,峰值为 TPS 大概为 260W
发朋友圈架构
查看朋友圈架构
点赞朋友圈架构
朋友圈架构说明
1、由于朋友圈的业务比较简单,因此应对高性能的方案只需要进行任务分配即可,无需进行任务分解。
2. 由于微信用户量大,发送朋友圈产生的记录多,且有很多是图片,视频,另外由于数据的增加也会很快,需要存储系统能支持水平扩展。Nosql 数据库在这方面的能力比关系数据库要好,因此选 nosql 进行存储。
评论