Fluss在阿里双11万亿规模场景下的落地实践
摘要:本文整理自阿里采集分析平台工程技术负责人 吴宝国 老师,在 Flink Forward Asia 2025 城市巡回深圳站中的分享。 Tips:关注「公众号」回复 FFA 2025 查看会后资料~ 大家好,我是来自阿里集团平台技术部数据技术与产品部的吴宝国。今天非常荣幸能在这里跟大家分享我们在阿里内部大规模落地 Fluss 的一些实践经验。 首先简单介绍一下我们团队。我们团队主要负责集团内部统一的用户行为采集与分析平台,也就是大家常说的 A+ 平台。我们的核心职责是为手淘、钉钉、高德、饿了么等众多集团内应用提供端到端的用户行为数据采集、处理、分析及服务能力。 在底层,我们构建了覆盖 Web、小程序、APP(包括 Android、iOS、PC、IOT、鸿蒙、VR 等)以及服务端的全场景采集 SDK 矩阵。在此之上,我们不仅采集用户的行为日志(比如点击、曝光、滑动等),还会融合业务数据(如用户标签、商品信息、订单数据等),构建服务于整个集团的流量域数据公共层。最终,我们通过分析产品帮助业务团队洞察用户行为,驱动运营和产品决策,例如提升广告效果、优化用户体验等。 为了支撑这一庞大体系的实时性需求,我们引入了开源流存储系统 Fluss 作为核心的日志数据实时采集通道。接下来,我将从为什么选择 Fluss、如何保障大规模落地稳定性、具体业务实践案例以及未来规划四个方面展开分享。 在引入 Fluss 之前,我们的实时数据架构长期面临两个根本性挑战。 我们过去主要依赖阿里内部的行式消息队列 TT(TimeTunnel)。以手淘的实时流量公共层为例,这张表包含了首页、闪购、搜索等多个业务的数据。每个下游业务(比如推荐系统)都需要一个独立的 Flink 作业来消费这张全量表,然后在作业内进行过滤,只保留自己关心的部分。 这种模式带来了三重成本问题: Fluss 通过其三大核心能力完美解决了上述问题: 业界经典的 Lambda 架构虽然能同时提供实时和离线视图,但维护两套独立的批处理和流处理链路,带来了开发、运维成本高企以及数据统计口径不一致等问题。 随着数据湖技术(如 Paimon、Hudi)的发展,湖仓一体架构成为主流,但它通常只能提供分钟级的数据新鲜度。对于搜索、推荐等要求秒级延迟的核心场景,我们仍需引入 Kafka 这类流式中间件,这实际上又回到了 Lambda 架构的老路,导致“湖”与“流”的割裂。 Fluss 的出现为我们提供了一个统一的解决方案:它既能作为高性能的流存储提供秒级数据新鲜度,又能通过其内置的分层存储(Tiering)能力无缝对接数据湖(如阿里内部的 Alake),真正实现了“湖流一体”,消除了双架构的痛点。 2025 年的双 11 是 Fluss 在阿里集团的首次大促实战。目前,Fluss 已稳定服务于淘天(含通天塔、阿里妈妈等)、集团数据公共层、饿了么、淘宝闪购、高德、阿里影业等多个核心业务,核心场景主要集中在搜索、推荐、流量等。 在本次双十一期间,Fluss 展现了强大的承载能力: 这些数据充分证明了 Fluss 在大规模、高并发场景下的稳定性和可靠性。 阿里集团内部的业务特点与云上有所不同,因此我们的部署架构也进行了针对性设计。 我们采用了“大集群 + 区域化部署”的模式。不同地域(如张北、上海)拥有独立的 Fluss 集群,而同一地域内的不同业务(如高德、钉钉、淘天)则通过数据库(DB)级别进行逻辑隔离。数据持久化在阿里自研的分布式文件系统 盘古 上,并通过 Tiering Service 同步至内部数据湖 Alake。 此架构的优势在于: 但也带来挑战: 为此,我们开发了独立的 Fluss Manager 来管理账号权限和集群配置,并在 VVP(Fluss 专有空间)中独立部署 Tiering Service(Flink Job),确保其稳定运行。 为了保障如此大规模集群的稳定运行,我们在多个方面进行了深度建设。 为防止物理机或机架故障导致数据丢失,我们实现了严格的副本放置策略。 我们建立了覆盖全栈的立体化监控告警体系: 随着业务增长,集群需要动态扩容。我们实现了 Rebalance 功能: 当单表流量增大时,可通过 注意:客户端需重启以感知新分区,期间消费任务可能有短暂波动。 为保障升级过程对在线作业无明显影响,我们实现了无感升级: Coordinator 执行 Coordinator 是集群的“大脑”。我们为其构建了高可用架构: 为应对大规模集群的网络带宽瓶颈,我们集成了 ZSTD 列压缩算法。 上线前,我们执行了详尽的故障演练计划,模拟极端场景: 通过这些演练,全面验证了系统的健壮性、容错能力和数据一致性。 在湖流一体这块,我们会直接从 Fluss Manager 发起“湖流一体表”的创建操作。创建完成后,会使用 Fluss 的生产账号(而不是业务自己的账号),在 Paimon 中为业务直接创建一张对应的 Paimon 表。 这张 Paimon 表与 Fluss 中的表在命名上完全一致,包括 Namespace 和 DB 名称都保持统一。这样一来,业务在 Paimon 侧可以给这张表打上“湖流一体表”的标记,在 Fluss 侧也能看到它是“湖流一体表”,对业务来说是一张“看起来统一”的表,但在底层实际上是两张独立的物理表。 数据同步方面,我们通过 Tailing Service 集群配合内部 Flink 集群,由生产账号将 Fluss 中的数据以分钟级或秒级的粒度同步到 Paimon。与此同时,在 Tailing Service 上做了一系列 Native 级别的优化,使得整体性能相较于通用的 Flink 接入方式(Flink Native)会更好一些。 Fluss 的落地为多个业务场景带来了显著收益,下面我将逐一介绍。 收益: 将流量实时 DWD 公共层写入 Fluss,并通过 Tiering Service 持久化到 Paimon。此架构既保障了秒级时效性,又支持高效的 OLAP 分析,真正实现了实时监控,产出效率远超旧版基于物化视图定时调度的方案。 在流量公共层应用 Fluss 的多级分区能力,显著降低了下游消费的数据量,使得下游 Flink CU 消耗降低约 35%,全链路成本降低约 70%。 展望未来,我们将从以下方向持续投入: 🔥 阿里云流存储 Fluss 于 2026 年 1 月 13 日 正式开启免费公测 基于 Apache Fluss 打造的高性能列式流存储系统,具备毫秒级读写响应、实时数据更新及部分字段更新能力,可替换 Kafka 构建 面向分析的流式存储,结合 DLF(Paimon)等数据湖产品构建 湖流一体架构。 🎁 公测活动: 公测期间单用户可 免费使用2个集群,单个集群上限80 Core,如果您在使用过程中向我们提出改进建议或评测报告,我们将依据反馈内容的深度与质量,向优质测评者 赠送定制Fluss周边礼品。 流存储Fluss版公测说明:https://help.aliyun.com/zh/flink/realtime-fluss/product-overv... 复制链接或扫描下方二维码:https://survey.aliyun.com/apps/zhiliao/G-2wQFAuV 复制下方链接或者扫描左边二维码 即可免费试用阿里云 Serverless Flink,体验新一代实时计算平台的强大能力! 了解试用详情:https://free.aliyun.com/?productCode=sc
一、为什么选择 Fluss?——解决两大核心痛点
(1)成本高昂:行式消息队列导致资源浪费严重

(2)湖流割裂:Lambda 架构的运维与一致性困境


二、首次双11落地情况:大规模生产验证

三、集群部署架构

(1) 机架感知(Rack Awareness)

(2) 监控告警体系

四、稳定性建设
(1) 集群扩缩容(Rebalance Feature)

AdminClient 发起 RebalanceRequest。CoordinatorServer 收到请求后,GoalOptimizer 生成 RebalancePlan。RebalanceExecutor 执行计划,通知 Tablet Server 迁移 Bucket Leader 和 ISR。(2) 表扩缩容(Bucket Rescale)

ALTER TABLE 增加 Bucket 数量。ALTER TABLE 命令。TableAssignment。(3) 无感升级(Controlled Shutdown)

controlledShutdownRequest 给 Coordinator。(4) Coordinator HA

CoordinatorContext 一致。(5) 压缩率与网络传输优化

(6) 上线前故障演练计划

五、湖流一体:统一架构的演进

六、业务实践案例与核心收益
(1)淘宝数据平台:实时数仓重构

(2)淘宝闪购:实时监控与加工

(3)通天塔(AB实验平台):降本增效

(4)A+ 采集分析平台:全链路优化

七、未来规划



更多内容

活动推荐
