zoukankan      html  css  js  c++  java
  • 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缓存模型 

  • 相关阅读:
    IOS之Block的应用-textFeild的回调应用
    KVC与KVO的不同
    git
    perl读取excel
    Linux用户管理
    Linux软件包的管理
    linux系统学习(二)
    linux系统学习(一)
    js模版渲染
    Discuz核心函数的解析
  • 原文地址:https://www.cnblogs.com/developer-qin/p/12674012.html
Copyright © 2011-2022 走看看