赛尔校园公共服务平台 Logo
平台使用
阿里云
百度云
移动云
智算服务
教育生态
登录 →
赛尔校园公共服务平台 Logo
平台使用 阿里云 百度云 移动云 智算服务 教育生态
登录
  1. 首页
  2. 阿里云
  3. 表格存储
  4. 实践教程
  5. 解决方案
  6. 如何打造千万级Feed流系统

如何打造千万级Feed流系统

  • 解决方案
  • 发布于 2025-04-22
  • 0 次阅读
文档编辑
文档编辑

在互联网领域,Feed流产品已被广泛应用于各种主流应用中,例如我们每天都会使用的朋友圈、微博,还有头条的资讯推荐、抖音快手的短视频推荐等。本技术解决方案从Feed流系统分析、方案对比、方案实现、方案扩展等维度全面讲解如何打造一个千万级Feed流系统。

Feed流介绍

基本特征

Feed是指状态或者消息,而Feed流本质上是一种信息流:N个发送者的数据,通过用户关系,推送给M个接收者,在Feed流中持续更新并呈现给用户内容。

image.png

Feed流包含以下几种基本特征。

特征

描述

多账号内容流

Feed流系统中存在成千上万的账号,账号之间可以建立关系。

非稳定的账号关系

系统用户之间的关系一直在变化,是一种非稳定的状态。

读写严重不平衡

读多写少,一般读写比例在10 : 1,甚至100 : 1以上。

消息必达性要求高

例如发送了一条朋友圈后,结果部分朋友收到信息,部分朋友没收到信息,导致信息不对称。

数据分类

根据上述特征和信息流关系,Feed流系统中的数据主要可以分为三类:

  • 发送的数据

  • 关系数据

  • 接收的数据

系统分类

Feed流种类较多,可根据接收的数据和关系数据进行分类。

根据接收数据的展示排序方式可以分为:

  • 基于时间的Timeline:按发布的时间顺序排序,最后发布的排列在最上方,类似于朋友圈、微博,是最常见的Feed流形式。

  • 基于推荐的Rank:按非时间的因子排序,例如按照用户的喜好度排序,选择出用户最想看的Top N结果排在上方。应用场景包括视频推荐、资讯推荐、商品推荐等。

根据用户数据中的关注关系可以分为:

  • 单向关系系统:用户之间的关系有向,用户可以单方面关注另一个用户。因此系统中可能会存在大V,即有很多粉丝的用户。主要产品有微博、抖音等。

  • 双向关系系统:用户之间的关系无向,用户建立关系后成为好友,即可互相交流,因此系统中不存在大V和粉丝的概念。用户使用此类产品时,会对时效性有更高的要求。主要产品有朋友圈、私信等。

示例系统介绍

本方案主要介绍和实现的是单向关系的Timeline系统,期望效果类似于微博,主要实现的功能如下:

  • 发布Feed:用户可以发布新消息。

  • 获取Feed流:用户可以查看自己所关注的人的所有消息或查看某个用户发布的消息。

  • 关注:用户间可以彼此关注。

结合系统功能和上述数据分类和系统分类,需要设计的核心方案如下:

  • 存储:保存用户发送的数据。

  • 同步:保存用户需要接收的数据。

  • 元数据:保存用户关系数据和用户信息。

方案分析

本方案从存储、同步及元数据、数据推送等角度对主流的实现方案进行了对比分析:

  • 存储、同步及元数据方案对比分析请参见方案分析。

  • 推送方案对比分析请参见推送方案分析。

  • 本技术解决方案技术实现原理请参见表格存储Feed流方案原理。

方案实现

本方案使用Timeline模型实现Feed流系统的存储与同步功能,包含示例代码并支持一键部署,详情请参见方案实现。

后续步骤

针对本技术方案没有讨论到但是您可能需要关注的问题,请参见方案扩展。

相关文章

如何打造千万级Feed流系统 2025-04-22 14:36

在互联网领域,Feed流产品已被广泛应用于各种主流应用中,例如我们每天都会使用的朋友圈、微博,还有头条的资讯推荐、抖音快手的短视频推荐等。本技术解决方案从Feed流系统分析、方案对比、方案实现、方案扩展等维度全面讲解如何打造一个千万级Feed流系统。 Feed流介绍

如何优化高并发IM系统架构 2025-04-22 14:35

介绍如何使用表格存储的主键增列功能优化高并发IM系统架构。 背景 在构建社交IM和朋友圈应用时,最基本的需求是将用户发送的消息和朋友

表格存储结合实时计算Flink实现交易数据的实时统计 2025-04-22 14:35

本文为您介绍使用表格存储和Flink实现交易数据实时统计的样例场景、架构设计和实现方案。 背景信息 在金融市场、电子商务和支付系统等领域,交易数据的实时统计具有重要的意义。它不仅能够提供精准的数据分析结果,帮助用户及时掌握业务动态并优化运营策略,同时也为风险管理、市场趋势的预测等提供了可靠的参考依据

方案分析 2025-04-22 14:35

根据Feed流中的数据类型,本文分别设计系统存储、同步与元数据方案。不同类型的Feed流产品架构存在差异,本文设计的产品是基于单向关系的时间排序Feed流,类似于微博。 存储 Feed流系统中的存储库主要存放具体的用户Feed消息,而Feed消息具备以下特点:

方案实现 2025-04-22 14:35

在前文的方案与架构基础上,本文介绍如何使用表格存储的Timeline模型实现Feed流系统的存储与同步功能。 模型介绍 本文使用表格存储作为存储和同步系统,并主要使用Timeline模型、基于推模式进行同步。 表格存储消息(Timeline)模型是针对消息数据场景所设计的,能够满足消息数据场

方案扩展 2025-04-22 14:35

本文介绍Feed流系统的两种扩展模型:推拉结合方案和加入排序后的Rank流方案。 推拉结合方案 虽然使用推模式可以满足Feed流系统需求,但随着用户数量增长,数据量也急剧增长。在推模式的工作下,数据量会膨胀得更多。针对这个缺点,可以考虑采用推拉结合的推动方案。

目录
Copyright © 2025 your company All Rights Reserved. Powered by 赛尔网络.
京ICP备14022346号-15
gongan beian 京公网安备11010802041014号