跳到主要内容
版本:Nightly

Flownode

简介

Flownode 为数据库提供了一种简单的流处理(称为 flow)能力。 Flownode 管理 flow,这些 flow 是从 source 接收数据并将数据发送到 sink 的任务。

Flownode 支持 standalone(单机)和 distributed(分布式)两种模式。在 standalone 模式下,Flownode 与数据库运行在同一进程中。在 distributed 模式下,Flownode 运行在单独的进程中,并通过网络与数据库通信。

一个 flow 有两种执行模式:

  • 流处理模式 (Streaming Mode): 原始的模式,数据在到达时即被处理。
  • 批处理模式 (Batching Mode): 一种为持续数据聚合设计的较新模式。它在离散的、微小的时间窗口上周期性地执行用户定义的 SQL 查询。目前所有的聚合查询都使用此模式。更多详情,请参阅批处理模式开发者指南

组件

Flownode 包含了执行一个 flow 所需的所有组件。所涉及的具体组件取决于执行模式(流处理 vs. 批处理)。在较高的层面上,关键部分包括:

  • Flow Manager: 一个负责管理所有 flow生命周期的中心组件。
  • Task Executor: flow 逻辑执行的运行时环境。在流处理模式下,这通常是一个 FlowWorker;在批处理模式下,它是一个 BatchingTask
  • Flow Task: 代表一个独立的、单个的数据流,包含将数据从 source 转换为 sink 的逻辑。