架构实战营 - 模块二作业
一、业务数据分析
1、发动态:每天有 1.2 亿用户发朋友圈,假设是在白天 12 小时发的,1.2 亿/(3600*12) ≈ 3000 TPS
2、评论:假设每条朋友圈有 50 好友评论,3000*50 ≈ 15 万 TPS
3、点赞:假设每条朋友圈有 20 好友点赞,3000*20 ≈ 6 万 TPS
4、看朋友圈信息:7.8 亿用户进入朋友圈,假设是在白天 12 小时查看,7.8 亿/(3600*12)≈ 2 万 QPS
二、高性能架构分析
1、mongodb 有成熟的高可用集群和分片方案,良好的横向拓展能力,可以轻松支持 PB 级数据量
2、朋友圈对消息的及时性要求不高,可以用消息队列暂存数据,再回写数据库
3、时间越久的动态,查看概率越低,可以分离冷热数据
4、不需要 Redis 缓存,朋友圈数据量大,但单个数据查看频率不高(就好友能看到),缓存作用不大
5、客户端做缓存,有新动态打个标记,进入朋友圈时 pull 新数据,增量更新即可
评论