feed系统数据量推算

目录

背景介绍

Feed是一种承载信息的单元,feed系统就是信息分发系统。

Feed系统通常有两个要素,召回和排序,召回决定有哪些feed应该分发给哪些用户,并且由于用户的屏幕有限,需要设定优先级,因此就有了排序规则。根据这两点的不同,通常可以分为Timeline Feed和Top K Feed

TimelineFeed指的是根据用户与用户之间的关注关系来召回Feed,然后基于发布时间排序的简单信息流系统。 Top K Feed指的是根据某些召回策略,召回feed,然后基于推荐模型排序的复杂推荐系统。

目标接口的设计

  1. 用户发布一篇Feed 可以是 视频/文章/推文/微博/朋友圈等
  2. 用户关注其他用户/取消关注的用户
  3. 用户查看订阅频道,可以看到关注的用户发布的Feed,以发布时间排序
  4. 用户可以点击某个feed,进入到当前feed的详情页面。
  5. 用户可以点击某个用户头像,进入到该用户主页面,展示他曾经发布的Feed
  6. 用户可以点赞,评论,转发一篇Feed,用户的feed上也会展示标题/封面/点赞/评论/浏览数信息
  7. 用户可以看到自己的收藏/点赞/浏览记录列表,并设置是否公开的权限
  8. 合规安全性,不能放出非法内容,需要有审核机制。

评估接口健壮的标准

假设有5亿的日活

接口 延迟p99上限 吞吐量平均值 吞吐量峰值 可用性
Feed列表接口 <=200ms 60k QPS 90k QPS 5个9
用户发布视频接口 <=500ms 6k QPS 12k QPS 5个9
用户访问视频详情页&个人主页 <=200ms 2k QPS 3k QPS 4个9
用户关注/点赞/转发 <=50ms 6k QPS 12k QPS 4个9
用户发布评论接口 <=300ms 2k QPS 5k QPS 3个9
用户读取评论列表 <=200ms 10k QPS 20k QPS 3个9
用户访问收藏/点赞/浏览记录列表 <=200ms 1k QPS 1.5k QPS 3个9

存储容量

假设一篇feed视频大小2MB,则一天存储增量2MB * 6K * 24 * 60 * 60约等于1000TB存储。

网络带宽

网络请求的带宽可以忽略不计,但是视频CDN的带宽是巨大的,这里近似等于视频的大小2M 用户一刷10条Feed,小视频形式每刷都会点击,所以CDN消耗近似等于视频分发的量级 10items * 60K * 2M * 24H * 60min * 60sec ≈ 100PB。

负载特性

Feed系统是一个典型的读多写少负载场景,通常为100:1,一个用户发feed,有100个用户会阅 读此feed。

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦