美文网首页
Feed 流推拉设计模式

Feed 流推拉设计模式

作者: 青年心路 | 来源:发表于2023-03-17 22:30 被阅读0次

1. 什么是 Feed 流

Feed 是将用户主动订阅的若干消息源组合在一起形成内容聚合器,帮助用户持续地获取最新的订阅源内容。 Feed 流即持续更新并呈现给用户内容的信息流。在生活中 Feed 流也是很常见的,比如微信朋友圈、微博等,就是 Feed 流的经典实现。

2. Feed 流的经典推拉模式

在了解推拉设计模式之前,先看几个概念:

  • 发件箱:用于存储发出消息的用户消息的容器
  • 收件箱:用于存储粉丝订阅的用户发送的消息的容器

有了这两个概念之后,就引出了拉架构推架构,其中拉架构对应发件箱,推架构对应收件箱。

2.1 推模式/拉模式的交互流程

假设此时有A用户和B用户,其中B是A的粉丝,当A发送一条消息时会把消息投递到自己的发件箱和B的收件箱,那么这时候这条消息就产生了两条Feed。

当B用户登录成功后查看自己的Feed流时(查看收件箱)可以有两套技术选型,分别是拉模式推模式

2.1.1 拉模式(读扩散)

拉模式是指B用户要查询关注的用户的列表,再查询关注的用户的发件箱,从而获取关注用户发送给B用户的信息。

优点:

  1. 关注的用户少的时候,可以快速找到发送给自己的消息

缺点:

  1. 如果关注的用户很多,那么查询的消耗是比较大的

2.1.2 推模式(写扩散)

推模式是指A用户在发送消息时,会先查询自己的粉丝列表,再向所有关注自己的粉丝的收件箱投递一条信息。

优点:

  1. 粉丝数量较少的时候,可以更快的将发送的消息推送到粉丝的收件箱,粉丝直接查看自己的收件箱即可
  2. 可以异步化的处理消息写入(实时性要求不高时)

缺点:

  1. 当粉丝数量较多时,用户发送一条消息会产生大量的写入粉丝收件箱的操作,性能较差
  2. 非活跃用户较多时,不会产生实际意义的读取操作,浪费磁盘空间

2.2 推拉混合模式

由于只使用推模式或拉模式都有不可避免的一些问题,这里就可以使用推拉混合模式来尽可能的避免在一种模式下的缺点。

其中推拉混合模式的方法是:

  1. 大V不推,只写入发件箱,对大V用户采用拉模式
  2. 非大V用户采用推模式,让用户直接读取收件箱

此时粉丝在获取Feed时需要将大V发件箱的信息和自己收件箱的信息进行merge后再展示。

相关文章

  • 常见系统架构设计

    feed流设计 如何打造千万级Feed流系统Feed 流系统设计总纲 秒杀类的高并发设计 高并发系统的设计及秒杀实...

  • 区块链 & 价值流

    今日头条 示范 的信息流(feed flow)今年将产生500亿的收益,直接挑战百度700亿的规模。feed流模式...

  • feed流

    Feed流系统设计-总纲https://zhuanlan.zhihu.com/p/72882547 =======...

  • 03-feed流细节详细解析

    图片流和feed流的区别: 图片流——以图片为主体 feed流——以内容为主体 feed英文有喂养的意思,feed...

  • 公众号大变革,对于内容创业者,是好是坏?

    文/磊少 01. 业界传闻称,微信公众号的订阅页面将更改为feed流模式。何谓feed流?简单来说,就是类似今日头...

  • 对于Feed流,你了解多少呢

    当我们在分析产品、设计产品时,相信对于Feed流这个词并不陌生。但是,除了知道Feed流是APP最常见的一...

  • 系统设计 —— Feed 流

    参考资料 如何打造千万级Feed流系统TableStore Timeline:轻松构建千万级IM和Feed流系统D...

  • feed流设计介绍

    简介 Feed流是Feed + 流,Feed的本意是饲料,Feed流的本意就是有人一直在往一个地方投递新鲜的饲料,...

  • Feed流系统设计

    背景 Feed流:可以理解为信息流,解决的是信息生产者与信息消费者之间的信息传递问题。 我们常见的Feed流场景有...

  • Feeds流的搜索与思考

    个性化推荐的 Feed 流设计 1、是比较通用的做法,按照推荐的先后顺序组成 Feed 流内容,也就是你刚才看过的...

网友评论

      本文标题:Feed 流推拉设计模式

      本文链接:https://www.haomeiwen.com/subject/mafsrdtx.html