Apache Fluss 1.0 介绍与选型指南
湖仓原生流式存储 Apache Fluss 1.0.0:Coordinator/Tablet 与 Log/PK 双表模型、Lakestream 分层、本地集群快速开始与 Kafka/CDC/Paimon 选型对比。
Apache Fluss 1.0 介绍与选型指南
目标:本篇是 Apache Fluss 1.0 的认知篇,全部内容基于官方项目网站、官方文档(1.0 版)、官方发行目录与 GitHub Releases 实查联网溯源编写(查询日期 2026-10-18),关键论断随文标注来源,不做本地安装实测(安装实测属 B1 安装指南职责)。
一、信息基准
- 查询日期:2026-10-18(Asia/Shanghai)。
- 版本依据:
- GitHub Releases API
releases/latest返回v1.0.0(Apache Fluss 1.0.0),发布时间 2026-09-22(来源:https://api.github.com/repos/apache/fluss/releases/latest ,查询日期 2026-10-18)。 - Apache 官方发行目录
downloads.apache.org/fluss/在列fluss-1.0.0(查询日期 2026-10-18)。 - 官方下载页声明「Apache Fluss 1.0.0 is the latest stable release」,并将 0.8.0、0.9.1 列于「Apache Incubator Releases」一节——即 1.0.0 为项目毕业出孵化器后的正式版本(来源:https://fluss.apache.org/downloads/ ,查询日期 2026-10-18)。
- GitHub Releases API
- 官方来源清单:
| 来源 | 地址 | 用途 |
|---|---|---|
| 官网 | https://fluss.apache.org/ | 定位、架构总览 |
| 下载页 | https://fluss.apache.org/downloads/ | 版本与孵化期版本区分 |
| 1.0 文档 | https://fluss.apache.org/docs/ | 架构、部署、快速开始 |
| 快速开始(Flink) | https://fluss.apache.org/docs/quickstart/flink/ | 官方示例 |
| 本地集群部署 | https://fluss.apache.org/docs/install-deploy/deploying-local-cluster/ | 启动命令原文 |
| GitHub 仓库 | https://github.com/apache/fluss | Releases 与源码 |
二、软件概述
Apache Fluss 1.0.0(2026-09-22 发布)是 Apache 软件基金会顶级项目,定位为「面向实时分析与 AI 的流式存储(streaming storage),可作为湖仓架构的实时数据层」:官方提出 Lakestream/Streamhouse 概念,用共享表协调「新鲜流数据」与「历史湖仓数据」,让流、服务与分析通过独立计算引擎复用同一张逻辑表(来源:官网首页,查询日期 2026-10-18)。
- 许可证:Apache License 2.0(官网 Community 段落,查询日期 2026-10-18)。
- 演进背景:0.8.0/0.9.1 为孵化期版本;1.0.0 为毕业后的首个正式版本线(下载页分组,查询日期 2026-10-18)。
- 技术形态:独立集群服务(CoordinatorServer + TabletServer),客户端以 Flink/Spark 连接器与 Fluss Client 接入;当前依赖 ZooKeeper 做分布式协调(官方部署文档注明 ZooKeeper 将在近期路线中移除以简化部署,查询日期 2026-10-18)。
- 社区活跃度:GitHub 约 2.2K stars(badgen 徽章,2026-10-18);首版正式化后处于快速迭代期。
三、核心架构
3.1 组件构成
依据官方 1.0 文档「Installation & Deployment - Overview」(查询日期 2026-10-18):
| 组件 | 职责(官方文档表述归纳) |
|---|---|
| CoordinatorServer | 集群中央协调组件:管理 TabletServer、管理元数据、协调数据再平衡与故障恢复 |
| TabletServer | 数据节点:管理与存储数据,承载 Log Table(日志表)与 PK Table(主键表) |
| Fluss Gateway(可选,preview) | 无状态 REST 网关,对外提供元数据、DDL 与 schema 感知的批量写入能力 |
| ZooKeeper | 当前版本的分布式协调与元数据管理(路线图中将被移除) |
| Remote Storage(可选) | 远端文件系统存储 PK 表快照与日志分层段:HDFS、Amazon S3、阿里云 OSS 等 |
| Lakehouse Storage(可选) | 分层服务将 Arrow 文件持续压缩为开放湖格式:Paimon、Iceberg、Hudi、Lance |
| Metrics | JMX、Prometheus、PushGateway、InfluxDB 等指标出口 |
3.2 核心数据与查询能力
- 双表模型:Log Table 提供可重放、按序的流式日志;PK Table 提供亚毫秒级主键点查与更新(官网首页能力清单)。
- 列式日志与裁剪下推:日志采用 Arrow 列式格式,服务端投影/谓词/分区裁剪叠加,显著降低 I/O 与网络(官网首页架构说明)。
- Union Read:同一逻辑表的热层(Fluss)与冷层(湖格式)联合读取,单查询覆盖热冷数据。
- 引擎接入:Flink、Spark 已支持;DataFusion、Doris、StarRocks、Trino 在官方页面标注为进行中/规划中,DuckDB 实验性(查询日期 2026-10-18)。
四、功能特性
- 流式日志:持久、可重放、按 offset 有序的事件流(官网能力支柱)。
- 主键表与点查:亚毫秒 KV 点查,可作特征/上下文在线存储。
- 湖仓协同(Lakestream):流层与湖层共享元数据、由 Flink 分层服务统一提交。
- 共享表:引擎与应用复用已维护的表,减少多系统重复摄取与同步(官网「multiple-systems tax」论述)。
- Arrow 列式流:服务端裁剪与下推,实时分析高吞吐。
- 变更数据流:PK 表自带 changelog,按设计可重放审计。
- REST 网关(preview)与多语言/AI 代理接入方向。
- 计算存储分离:引擎独立扩缩,私有状态由计算自持。
五、快速上手
以下步骤引自官方 1.0 文档「Deploying Local Cluster」(来源:https://fluss.apache.org/docs/install-deploy/deploying-local-cluster/ ,查询日期 2026-10-18),本篇不做本地实测。前置条件:类 UNIX 环境、Java 11 及以上(官方强推荐 Java 17+),并设置 JAVA_HOME。
tar -xzf fluss-1.0.0-bin.tgz
cd fluss-1.0.0/
./bin/local-cluster.sh start
随后按官方快速开始(Real-Time Analytics with Flink,https://fluss.apache.org/docs/quickstart/flink/ ,查询日期 2026-10-18)用 Flink SQL Client 接入:将 Fluss Flink 连接器 jar 放入 Flink lib 目录后,在 Flink SQL 客户端创建 Catalog(官方原文语句):
CREATE CATALOG fluss_catalog WITH (
'type' = 'fluss',
'bootstrap.servers' = 'localhost:9123'
);
官方快速开始以 TPC-H Q5 为例演示建表、写入与实时查询,完整流程见上列官方链接。
六、适用场景与限制
6.1 适用场景
- 实时数仓/Streamhouse:以共享表替代「消息队列 + 处理器 + 在线存储 + 离线存储 + 同步管道」的多系统拼接(官网对比论述)。
- 亚秒级新鲜度的实时分析与报表(Flink/Spark 直查)。
- 特征/上下文在线服务:PK 点查 + 流式读取支撑 ML/AI 数据服务。
- 已有 Kafka + Flink + 湖仓(Paimon 等)栈的架构升级:分层统一、热冷联合查询。
6.2 限制与注意
- 当前仍依赖 ZooKeeper 做协调,官方路线图明示未来移除(1.0 文档 warning,查询日期 2026-10-18)。
- 引擎支持不完全对齐:Flink/Spark 之外的引擎(DataFusion/Doris/StarRocks/Trino)为进行中或规划中(官网首页,查询日期 2026-10-18)。
- 1.0.0 为毕业后的首个大版本,生产化时间尚短,版本演进与兼容策略需持续跟踪。
- Fluss Gateway 为 preview 状态,REST 侧能力尚未正式化(1.0 文档)。
七、同类选型对比
对比对象按「流式数据基础设施(流存储/流处理/CDC/湖格式)」选取,社区数据为 2026-10-18 联网实查(stars 经 badgen 徽章接口读取,版本经 GitHub Tags/Releases 实查):
| 项目 | 许可证 | 社区活跃度(stars / 最近发版) | 版本节奏 | 兼容矩阵 |
|---|---|---|---|---|
| Apache Fluss 1.0.0 | Apache-2.0 | 约 2.2K stars;1.0.0(2026-09-22) | 毕业后快速迭代 | Java 11+;ZooKeeper;Flink/Spark 连接器;Paimon/Iceberg/Hudi/Lance 分层 |
| Kafka Streams(随 Apache Kafka) | Apache-2.0 | apache/kafka 约 34K stars;4.3 版本线(tag v4.3.2-rc3) | 半年级别版本线 | JVM 库,绑定 Kafka 集群 |
| Flink CDC | Apache-2.0 | 约 6.5K stars;3.7.0(tag release-3.7.0) | 季度级别 | 基于 Flink 的 CDC 管道,下游 Kafka/湖格式 |
| Apache Paimon | Apache-2.0 | 约 3.4K stars;2.1.0(tag release-2.1.0) | 半年级别大版本 | 流批湖格式,Flink/Spark/Trino 等引擎读取 |
💡 选型建议:要「一表到底」的流式存储 + 湖仓热冷协同选 Fluss 1.0;只做事件传输用 Kafka 本体、流上转换用 Kafka Streams;CDC 入湖管道选 Flink CDC + Paimon 组合;纯湖表格式需求直接选 Paimon/Iceberg。
八、参考链接
- Apache Fluss 官网:https://fluss.apache.org/
- 下载页(1.0.0 与孵化期版本):https://fluss.apache.org/downloads/
- 1.0 文档总览:https://fluss.apache.org/docs/
- 本地集群部署文档:https://fluss.apache.org/docs/install-deploy/deploying-local-cluster/
- Flink 快速开始:https://fluss.apache.org/docs/quickstart/flink/
- 架构概念文档:https://fluss.apache.org/docs/concepts/architecture/
- GitHub 仓库:https://github.com/apache/fluss
- Apache 发行目录:https://downloads.apache.org/fluss/