作业 2 朋友圈高性能复杂度
朋友圈复杂度主要体现在高 qps/tps,以及存储量
解决方式主要是 sharding 还有用 Hbase
质量复杂度分析:
“7.8 亿人进入朋友圈,1.2 亿人发朋友圈”
https://m.cls.cn/detail/667354
QPS 平均 ~1 万,峰值假设~3 万,年峰值假设~10 万
TPS 发布:平均 ~1.5k,峰值假设~4.5k,年峰值假设~1.5 万
假设一个朋友圈平均有 3 个评论,10 个点赞
TPS 评论:平均 ~4.5k,峰值假设~13.5k,年峰值假设~4.5 万
TPS 点赞:平均 ~15k,峰值假设~45k,年峰值假设~15 万
存储:
每天 1.2 亿条记录,
假设用户进入朋友圈或加载更多时平均可以看到 3 天的朋友圈内容,平均额外加载一次
高效查询 7.2 亿条数据
业务复杂度
发布(不考虑视频上传),评论、点赞,按时间线显示
架构
写入操作都经过消息队列,削峰平均负载
读取时按照用户朋友列表查询,可将信息缓存至本地一定时间,无缓存时再去数据库读取以减小读取 io
评论