Feed流

 
 

什么是Feed流?

Feed是将用户主动订阅的若干消息源组合在一起形成内容聚合器,帮助用户持续地获取最新的订阅源内容。

严格按照上述定义来说,我们通常说的搜索结果、排序列表都不能算作feed流。

从定义来看,

  • feed是一种给用户持续提供内容的数据形式
  • 是由多个内容提供源组成的资源聚合器,由用户主动订阅消息源并且向用户提供内容

 

Feed流的展现形式有很多种,主要的有timeline以及rank。

  • timeline:是最典型的feed流展示方式,按照feed流内容更新的时间先后顺序,将内容展示给用户,早期的微博、朋友圈都是典型的timeline。
  • rank:即按照某些因素计算内容的权重,从而决定内容展示的先后顺序。例如当前的微博主页信息流算法即抛弃了原始的timeline,而采用最新的智能排序。

Feed系统架构

Feed系统: Push/PuLL

对于中小型的Feed系统,feed数据可以通过同步push模式进行分发。如图12-1,用户每发表一条feed,后端系统根据用户的粉丝列表进行全量推送,粉丝用户通过自己的inbox来查看所有最新的feed。新浪微博发展初期也是采用类似方案,通过LAMP架构进行feed push分发,从而实现快速开发及上线。

 

不同模式的适用场景:

拉模式:许多feed流系统初版会基于拉模式,因为用户数较少且日活低,拉取成本较低

推模式:

1. 用户关系数比较均匀,且有上限,如朋友圈

2. 偏向推荐类feed,同一个feed对不同用户价值不同,计算feed和用户间的分数,只推荐给分数较高的用户

推拉结合模式:大部分用户关系数比较均匀,少数用户千万级别,无上限。例如微博。能够解决单纯采用推模式时大V用户高并发写问题。

以微博为例,使用两种推拉模式:

① 在线推,离线拉:大V发布动态后,有限推送给同时在线的粉丝,离线粉丝上线后再拉取该动态。

 
 

② 定时推,离线拉:大V发布动态后,以常驻进程的形式推送到粉丝关注✌️。

 
 

feed流智能排序(Ranking):

智能排序基于趋势trending、热门hot、用户生产UGC 、编辑推荐PGC、相似Similarity等等因素综合考虑,随着技术的进步智能算法将会更加懂得用户的喜好。

 

 

参考:

Feed系统架构与Feed缓存模型 

posted @ 2020-04-10 15:52  尘恍若梦  阅读(1142)  评论(0编辑  收藏  举报