Flownode
简介
Flownode 为数据库提供 Flow 计算能力。
Flownode 管理 flow,这些 flow 是从 source 接收数据并将数据发送到 sink 的任务。
Flownode 支持 standalone(单机)和 distributed(分布式)两种模式。在 standalone 模式下,Flownode 与数据库运行在同一进程中。在 distributed 模式下,Flownode 运行在单独的进程中,并通过网络与数据库通信。
一个 flow 有两种执行模式:
- 批处理模式 (Batching Mode): 持续数据聚合当前使用的模式。它在离散的、微小的时间窗口上周期性地执行用户定义的 SQL 查询。聚合和 TQL 查询使用此模式。更多详情,请参阅批处理模式开发者指南。
- 流处理模式 (Streaming Mode,已废弃): 原始的模式,数据在到达时即被处理。该模式保留用于兼容旧 workload,不推荐新 workload 使用。
组件
Flownode 包含了执行一个 flow 所需的所有组件。所涉及的具体组件取决于执行模式。在较高的层面上,关键部分包括:
- Flow Manager: 一个负责管理所有 flow生命周期的中心组件。
- Task Executor: flow 逻辑执行的运行时环境。在批处理模式下,它是一个
BatchingTask;在已废弃的流处理模式下,这通常是一个FlowWorker。 - Flow Task: 代表一个独立的、单个的数据流,包含将数据从 source 转换为 sink 的逻辑。