1. 国产实时计算平台到底在盘什么
2026年再聊“实时计算”,很多人的第一反应还是Flink、Spark Streaming这些老面孔,但实际上这个赛道已经发生了不小的变化。我最近集中调研了一轮国产实时计算平台,从底层开源引擎到云上商业方案,走了一遍完整的选型流程,感受很深:现在的国产实时计算已经不再是“换皮开源”或者“魔改框架”的阶段,而是真的长出了一批有独立思想、有差异化场景的产品。
这篇盘点我不会做成简单的“产品列表”,而是想按一条清晰的脉络来梳理:先讲清楚实时计算这个领域的边界和演进方向,再拆开源引擎层的国产化现状,接着逐一看主流的国产商业平台,最后给出选型思路和实操中踩过的坑。无论你是架构师、技术负责人,还是刚接触实时计算的一线开发,都能在这篇文章里找到对得上号的内容。
先说下“国产实时计算平台”这个说法。它其实覆盖了三层东西:第一层是开源引擎,比如Apache Flink、RisingWave、Kafka/Pulsar,这些虽然源自国外社区,但在国内有大量深度定制和二次开发的发行版;第二层是国产自研的编排、管理、开发框架,比如Dinky、StreamPark这类工具;第三层才是真正意义上的商业平台,也就是云厂商托管的实时计算服务,以及像SelectDB这样从底层走自研路线的实时数仓产品。三层之间既有依赖关系,也存在竞争关系,这是2026年国产实时计算市场最值得琢磨的地方。
我在调研中有一个很明显的体感:纯粹为了“国产化”而国产化的时代已经过去了,现在的评判标准非常务实——能不能跑通生产链路、能不能降本增效、能不能在信创环境下稳定运行。这篇文章的对比维度也会围绕这几个点展开。
2. 概念先行:先搞清楚实时计算在2026年的真实边界
2.1 流式计算与实时数仓:两个常被混淆的方向
聊国产平台之前,必须把“实时计算”到底指什么界定清楚。2026年这个领域已经分化成两个大方向:一个是传统意义上的流式计算(Stream Processing),核心是处理无界数据流,做过滤、聚合、关联、窗口计算,代表性场景是风控、实时监控、实时大屏;另一个是实时数仓(Real-Time Analytics),核心是把数据以秒级或毫秒级延迟写入分析引擎,支撑高并发的点查和聚合查询,代表性场景是实时报表、用户画像、BI分析。
这两个方向看起来相近,但技术选型完全不同。流式计算的核心引擎是Flink、Pulsar Functions这类框架,讲究的是Exactly-Once语义、状态管理、窗口机制;实时数仓的核心则是OLAP引擎,讲究的是列式存储、向量化执行、查询并发能力。国产平台里,像阿里云实时计算Flink版、腾讯云Oceanus偏向流式计算;SelectDB、OceanBase实时分析侧更偏向实时数仓。但2026年这两者也在互相渗透,比如Flink现在能直接写Iceberg、Paimon,而SelectDB也开始支持Flink CDC入仓,边界正在变得模糊。
2.2 消息队列在实时链路中的角色
还有一个经常被忽略的角色:消息队列。实时计算不能凭空产生数据,它的上游一定是某种消息系统。Kafka在国内依然是事实标准,但在国产化替代的语境下,RocketMQ、Pulsar、以及腾讯的CMQ、阿里的云消息队列都在争这个入口位置。
这里有个很实际的坑:很多人做实时数仓方案,一上来就选Flink + ClickHouse,结果忽略了消息队列的选型。结果数据源是业务库的Binlog,直接通过Canal同步到Kafka,但Kafka的Topic分区数没有规划好,下游Flink作业的并行度上不去,整个链路的吞吐量就被卡死了。我在后面讲实操选型时会给出具体的分区规划建议,这里先提个醒:实时计算是“端到端”的工程,不是只选一个引擎就能搞定的事。
2.3 数据湖与实时计算的融合趋势
2026年的实时计算还有一个绕不开的主题:流批一体和数据湖。Apache Paimon(原名Flink Table Store)在国内的接受度比我预想中高很多,它的核心思路是用流式写入来更新湖存储,让数据湖拥有准实时的新鲜度。国产项目里,Amoro(原Arctic)是另一个值得关注的玩家,由腾讯开源,定位就是“流式数据湖”,专门解决传统数据湖不支持行级更新、实时写入性能差的问题。
这条线对选型的影响在于:如果你在2026年新建实时数仓,不必再走“Flink实时写Kafka再落ClickHouse”的老路,可以直接考虑“Flink写Paimon/Amoro + OLAP查询”的新架构。这也是为什么我在对比表里专门留了一个“湖仓融合能力”的维度——这个维度在早期实时计算平台盘点里几乎不会出现。
3. 开源引擎层:国产化的真正底盘
3.1 Flink生态:事实标准与国产二次开发
盘点国产实时计算平台,绕不开Apache Flink。2026年Flink仍然是实时计算领域当之无愧的事实标准,但有意思的是,Flink社区本身的“国产化浓度”已经非常高——国内开发者在Flink社区的开源文档贡献、代码提交占比逐年上升,这一点在各大厂的开源年报里都能看到。
不过对于大多数国内团队来说,直接使用社区版Flink在生产环境面临几个现实问题:一是监控告警体系需要自己搭,二是SQL作业的开发调试效率低,三是丢给运维的任务管理能力太弱。于是国内冒出了一批专门给Flink“查缺补漏”的国产开源项目,其中最典型的就是Dinky和StreamPark。
Dinky这个项目我用了快两年,最初它只是一个小众的Flink SQL开发工具,现在已经长成了一个相当完整的实时计算开发平台。核心能力包括:Flink SQL的在线开发、作业调试、集群管理、作业提交与运维。它的设计思路很接地气——很多国内团队并不需要一套完整的商业平台,只需要一个能提升开发效率、能对接已有Flink集群的轻量工具,Dinky恰好补上了这个空档。
StreamPark(原名streampark,早期叫streamx)走的是另一条路线,它更像一个Flink/Kafka作业的管理和调度层,把原本需要写脚本、手动提交、肉眼盯日志的流程,变成了一套可视化的作业管理界面,还内置了告警、检查点监控、资源队列管理等功能。在国产开源项目中,StreamPark的社区活跃度一直排在前列,文档和视频教程也相对齐全,比较适合中小团队上手。
3.2 国产自研流处理引擎:是真的“自研”还是新瓶旧酒
除Flink之外,国内也有一些团队在尝试做完全自主的流计算引擎。这类引擎数量不多,但方向值得关注。典型代表是花瓣引擎这类面向特定场景的流式计算框架,以及部分大厂内部开源出来的轻量级实时计算组件。
但说实话,我在调研中发现一个比较尴尬的现实:这些纯自研引擎在通用性上仍然很难和Flink抗衡。Flink经过近十年的生态积累,它的状态管理、Checkpoint机制、窗口API、连接器生态已经形成了一个庞大的护城河。如果只是想做一个“能跑流式SQL的引擎”并不难,但要做到“生产环境稳定运行、能应对各种乱序数据和水位线问题、能和各种存储系统无缝对接”,这个工程量是极其巨大的。
所以在开源引擎层,我的判断是:2026年短期内Flink主导地位不会被动摇,但Dinky、StreamPark这类国产辅助工具的春天会继续。它们不做引擎,而是做引擎之上的平台能力,这恰好是国产软件更擅长、也更容易出价值的地方。
3.3 RisingWave、Kafka、Pulsar等国际开源项目的国产部署生态
聊完Flink,再提两个在国际上很火、国内落地也越来越多的开源项目:RisingWave和Pulsar。
RisingWave是一个云原生的流式数据库,它的定位是“用SQL来做流式计算”,把流式处理的能力做成了数据库产品形态。它不需要像Flink那样写Java/Scala代码,直接用PostgreSQL风格的SQL就能完成流式计算和实时物化视图的创建。在国内,RisingWave的社区活跃度也在上升,很多使用PostgreSQL的老团队会拿它作为Flink的替代方案,降低学习和运维成本。不过需要客观指出,RisingWave是国际开源项目,并非国产自研,只是在国内有较多落地实践,这一点在选型时要区分清楚。
Pulsar的处境稍微特殊一些。它在技术理念上很先进(存算分离、多租户、跨地域复制),但在国内的生产部署规模远不及Kafka和RocketMQ。我见过不少团队尝试从Kafka迁移到Pulsar,最后又迁回去,主要原因集中在Pulsar的客户端生态和运维复杂度上。2026年的一个变化是,部分国产云平台开始把Pulsar作为托管消息队列的一种选项提供出来,降低了部署门槛,但它依然不是默认首选。
4. 商业平台层:从云厂商托管到自研实时数仓
4.1 阿里云实时计算Flink版:市场份额与技术渗透率之王
阿里云实时计算Flink版是国产商业实时计算平台里绕不开的标杆。它本质上是Apache Flink的托管服务,但做了一层很深的平台化包装,包括:SQL开发平台、作业运维中心、监控告警、资源弹性伸缩、与阿里云生态(DataHub、Hologres、MaxCompute)的无缝打通。
我在多个客户现场见过这套产品的实际运行状态。对已有技术团队、但不想自建Flink运维体系的公司来说,阿里云实时计算几乎是“默认选项”,因为踩坑最少、社区答案最多、遇到问题能找到人问。它本质上还是基于开源Flink,所以在引擎层面没有太多“国产自研”的标签,但平台层的完善度确实是国内第一梯队。
价格方面,按计算资源CU计费,加入虚拟集群和弹性伸缩后成本压力会有所缓解,但整体仍然偏高。适合预算充足、对上云没有障碍的企业。
4.2 腾讯云Oceanus:后发但生态整合扎实
腾讯云Oceanus是另一个常见的托管Flink平台,早期叫StreamCompute,后来改名Oceanus。它的功能路径和阿里云实时计算Flink版非常相似:SQL开发、作业调度、监控告警、上下游连接器管理。
Oceanus的差异化优势在于腾讯生态的整合,尤其是与消息队列CMQ、数据仓库Iceberg、ES、以及腾讯内部的数据同步服务配合时,链路更顺滑。另外,Oceanus在Prometheus监控指标暴露方面做得更开放,方便对接自建的监控体系,这一点对喜欢自建可观测性栈的团队来说是个加分项。
4.3 华为云StreamService、百度云BSC等:信创场景的重要选项
如果聊“国产”二字的分量,华为云必须单独拿出来说。华为云StreamService(流式计算服务)在信创和政企市场有很强的存在感,它不仅仅是Flink托管,还叠加了GaussDB、MRS、LakeFormation等华为系数据组件的协同能力。在操作系统(openEuler)、芯片(鲲鹏)全栈国产化的环境下,StreamService的适配深度是其他几家云厂商目前很难比的。
百度云BSC(百度流式计算)相对小众一些,但功能也不弱,尤其是与百度智能云内部的Palo(基于Doris的OLAP)配合做实时数仓时,链路简洁度很高。不过它的生态和市场份额决定了它更适合已经在百度云上有存量业务的团队。
4.4 SelectDB、OceanBase等自研实时数仓:从“国产开源”到“国产自研”的质变
商业平台层面,2026年最有看点的不是云厂商的Flink托管,而是以SelectDB、OceanBase为代表的自研实时数仓产品。
SelectDB是Apache Doris的商业化公司出品,核心定位是实时数据仓库,主打“统一、简单、快速”。它和开源Doris的关系类似“商业版”和“社区版”的关系——SelectDB在Doris开源内核之上加了企业级能力,比如多租户管理、权限体系、数据加密、可视化运维控制台等。在实时写入链路中,SelectDB支持从Flink CDC、Kafka、Iceberg等数据源毫秒级同步数据,查询性能在列式存储和向量化执行引擎的加持下表现非常亮眼。
OceanBase大家更熟悉的是原生分布式关系型数据库,但在2024年之后它也在实时分析领域加码,推出了基于LSM-Tree和列式存储的实时分析能力。它的优势在于:如果你已经在用OceanBase做业务库,那实时分析场景可以直接复用,不需额外引入一套OLAP系统,链路最短。
这一层国产平台的本质变化在哪里?在于它们不再依赖Flink或者Spark来提供计算能力,而是把“实时写入+实时查询”做成了引擎自身的核心能力。换句话说,没有Flink,它们照样能玩转实时数仓。这是和阿里云Flink版在根基上的区别。
4.5 商业平台对比速查表
为了便于快速选型,我把几个主流商用产品的关键维度整理成一张表:
| 产品 | 底层技术 | 核心优势 | 短板 | 适用场景 |
|---|---|---|---|---|
| 阿里云Flink版 | Apache Flink | 生态最成熟,文档多,云上链路完整 | 成本高,绑定阿里云 | 中型以上企业,上云无障碍 |
| 腾讯云Oceanus | Apache Flink | 腾讯生态整合好,监控开放性好 | 社区文档相对少 | 腾讯云存量用户 |
| 华为云StreamService | Apache Flink | 信创适配深,全栈国产方案 | 生态相对封闭 | 政企、金融、信创项目 |
| SelectDB | Doris内核自研 | 实时分析与查询性能强,轻量 | 流式计算能力弱于Flink | 实时数仓、BI加速、用户画像 |
| OceanBase实时分析 | OceanBase自研 | 业务库与分析库统一,链路短 | 大数据规模上限待验证 | 已用OceanBase的传统企业 |
这张表不是要告诉读者“谁的排名更高”,而是帮助大家根据自己已有的基础设施和核心诉求,快速锁定三五款产品做深度POC。
5. 选型思路与落地建议:一条相对实用的判断路径
5.1 第一刀:你想解决的是“计算”问题还是“查询”问题
选型的第一步不是看产品,而是看业务诉求。我习惯把需求劈成两半来判断:如果核心痛点是“数据实时处理逻辑复杂,需要加工、清洗、关联、聚合”,那应该把Flink类平台(无论是自建还是托管)作为主选项;如果核心痛点是“数据已经就绪,但查询太慢,报表延迟高”,那应该直接看实时OLAP产品,也就是SelectDB、Doris、ClickHouse这条路。
一个典型的反面案例:某个做电商数据的团队,跑了半年Flink作业,把所有数据都实时写进了Kafka,然后又建了一套Flink任务把数据从Kafka同步到ClickHouse,最后用ClickHouse做报表。整个链路冗长、运维成本高、还经常出现数据延迟追不上的问题。后来优化后换成Flink CDC直接写SelectDB,省掉了中间的Kafka同步环节,延迟从分钟级降到了秒级,运维节点少了一半。
这个案例的核心结论是:不要在已经可以被OLAP引擎直接承担的“查询加速”场景里硬套流式计算框架。Flink确实很强大,但不是所有实时场景都需要它。
5.2 第二刀:自建开源还是购买托管商业版
这一刀主要看团队规模和运维能力。
我见过不少十几人的数据团队,自建Flink集群 + Dinky开发平台,跑得也很稳,成本比购买云上托管省了一大截。但前提是团队里至少有一到两个能把Flink原理吃透的人,尤其是在Checkpoint失败、背压、反序列化异常这些问题上,能独立定位和解决。
如果团队没有这样深度的人,或者业务增长很快、没有精力维护自建集群,那建议直接买云上托管版本。有人觉得托管版贵,但算一笔账:一个Flink作业频繁OOM、反压导致链路延迟告警,工程师熬夜排查的时间成本折算成薪资,往往比云上托管多出来的费用高得多。
5.3 第三刀:信创与国产化要求到底卡得多死
“国产化替代”这个词在2026年的语境下已经非常具体。很多政企、金融、能源行业的客户,技术要求里会明确写到:“支持ARM架构”“适配麒麟操作系统”“通过等保合规”“使用国产生态组件”。在这种情况下,选型逻辑就很清晰了——直接优选华为云StreamService这类在信创上适配最深的平台,或者使用国产自研到内核的SelectDB、OceanBase。
这里我要给一个很多人容易忽略的建议:如果项目有信创要求,一定要在POC阶段就让厂商提供在指定芯片/操作系统上的部署验证报告,不要等到招标阶段再提。我见过不止一个项目,在讲标时产品各种支持,到部署落地阶段才发现某些国产芯片的JDK版本不兼容,Flink作业启动直接崩溃,项目延期整整一个月。
5.4 成本估算:一份能直接参考的低配起步方案
假设从零开始建一套最简实时数仓,目标场景是“订单数据实时入仓 + 实时报表 + 简单风控规则”,我给出一个大致的选型组合和成本量级(2026年常见报价水平):
- 数据源:业务库MySQL,开启Binlog,使用Flink CDC采集
- 消息层:Kafka(自建或云托管均可,单Topic、3分区起步)
- 计算层:Flink(或Dinky + Flink集群)
- 存储层:SelectDB社区版或Apache Doris(2个BE节点起步)
- 整体月成本:自建模式约3000~8000元(主要是机器资源),云上托管模式约1万~2万元
这套配置满足日活十万级、日处理千万级事件的业务完全够用。如果数据量翻十倍仍然扛得住,前提是分区和并行度提前规划好,这一点在下一节展开。
6. 实战问题与排查技巧实录
6.1 Flink作业常见病:背压、Checkpoint超时、数据倾斜
先讲三个我在生产环境反复遇到的Flink作业问题。
背压(Backpressure)是流式计算最经典的“慢性病”。现象是Source端读取速率远大于下游处理速率,数据在算子之间堆积,整个作业延迟越来越高。排查方法很简单:打开Flink Web UI,看每个算子之间的背压指标,红色说明下游处理不过来,黄色说明接近临界。解决手段通常是扩容并行度、优化算子链、减少状态后端瓶颈,但我们群里最核心的一条经验是——先看是不是KeyBy过猛导致的数据倾斜,再看资源。因为90%的背压案例,根因都是某个热门Key把数据全打到了一个子任务上。
Checkpoint超时是另一个高频问题。Flink的Exactly-Once语义依赖Checkpoint机制,如果Barrier对齐太慢,Checkpoint会连续超时,最终导致作业失败重启。我遇到过的原因包括:状态过大(超过几十GB)、Sink端反压导致Barrier无法对齐、RocksDB状态后端的磁盘IO瓶颈。解决的思路很直白:要么增大Checkpoint超时时间(但掩盖问题)、要么给状态后端上SSD、要么优化作业逻辑减少状态量。
数据倾斜的处理,我的经验是优先使用Flink SQL的Hints功能,比如在双流Join时给热点Key加随机前缀打散,或者使用Flink 1.17以上版本的动态分桶优化。不要一上来就改业务逻辑,先看倾斜量级,小范围内用SQL Hint解决最划算。
6.2 国产化环境适配:JDK版本和操作系统兼容性
在国产化环境的实战中,最让人头疼的不是引擎本身,而是底层环境的兼容性。常见的坑包括:
- 某些国产操作系统自带的JDK是老版本(比如OpenJDK 8),但Flink 1.18以上版本需要JDK 11才能发挥完整性能。解决方式不是换系统,而是手动安装JDK 11/17,并在启动脚本里显式指定JAVA_HOME。
- ARM架构下某些依赖(如RocksDB原生库)需要重新编译,直接使用X86的安装包会导致JNI报错。踩过坑之后,我的固定流程是:安装前先检查uname -m,确认架构后选择对应的软件包。
- 国产化环境的网络受限,Maven中央仓库依赖下载经常超时。建议提前在私有仓库里缓存全套依赖,或者使用阿里云/清华镜像源做二次兜底。
6.3 Dinky与StreamPark的实际使用体感
Dinky在低版本阶段有过一些稳定性问题,但到了2024年之后的版本(尤其是1.0以后的重构版本),稳定性和体验已经有了质的提升。新的Dinky版本已经把Flink SQL的在线开发、作业提交、集群管理整合得比较完善,还支持了Flink CDC和Doris连接器的一站式配置。
StreamPark给我最大的惊喜是它的“任务模板”能力——把一段经常重复的作业提交参数(比如Checkpoint间隔、状态后端、并行度)做成模板,新作业直接套用,减少了大量手写配置的时间。另外一个实用功能是它的告警插件机制,能直接把作业异常推到钉钉/企业微信,对国内团队特别友好。
但这两个工具都需要注意一个问题:版本的Java依赖冲突。Flink版本升级后,Dinky/StreamPark的连接器Jar包需要同步更新,否则很容易出现NoClassDefFoundError之类的诡异异常。建议在CI流水线里把Flink版本和工具版本绑定升级,不要只升级一边。
6.4 一份问题速查表
| 症状 | 可能原因 | 快速排查工具/命令 | 常见解法 |
|---|---|---|---|
| Flink作业启动失败 | 依赖冲突/ClassNotFound | 查看完整异常栈,使用mvn dependency:tree | 统一Connector版本,清理无用Jar包 |
| 数据延迟不断升高 | 背压或Checkpoint失败 | Flink Web UI背压监控 | 增加并行度/优化SQL Hint |
| 实时报表数据一直为空 | Kafka Topic不存在或认证失败 | kafka-console-consumer手动消费 | 检查Topic权限及ACL配置 |
| Session窗口结果异常 | 水位线设置不合理 | 查看Watermark监控指标 | 调整allowedLateness或事件时间字段 |
| ARM环境RocksDB报错 | 原生库不兼容 | 查看启动日志JNI错误 | 重编译RocksDB或换用内存状态后端 |
这张表是我在多个项目里沉淀出来的高频问题集合,不敢说覆盖所有场景,但能解决大部分“一上来就卡住”的尴尬局面。
7. 几个容易被忽略的经验点
做实时计算平台选型,我发现很多团队会忽略几个“非技术”因素,这些因素往往决定了项目成败。
第一个是团队的技术栈惯性。如果团队主力都是Java/Spring背景,选型时优先考虑Flink生态,因为它的Java API和SQL支持最成熟,遇到问题能找到的案例也最多。如果团队是从PostgreSQL转过来的,RisingWave的SQL风格会让人更舒服,学习曲线会低不少。这个因素看起来不“硬核”,但在实际推进中影响巨大。
第二个是上下游生态的完整度。实时计算不是孤立的,它必须与数据接入、数据存储、数据服务、监控告警串联起来才算完整。选型时一定要画一张完整的数据链路图,标明每个环节由谁承担、与候选平台是否已有现成连接器。我曾经见过一个团队选了自研引擎,结果发现它没有现成的Kafka Connector,硬是花了两周手写,整个项目推进节奏被打乱。
第三个是开源社区的活跃度和文档质量。在2026年,“开源文档贡献”已经是衡量一个项目健康度的重要指标。判断一个开源项目能不能持续投入,我会去看它的GitHub仓库在过去三个月内的commit频率、Issue响应时间、以及中文文档的完整度。国产项目里,StreamPark和Dinky的中文文档都做得不错,遇到问题基本能通过官方文档解决,这对中文开发者社区来说是很大的隐形红利。
8. 最后分享一点个人体会
做了这些年数据平台相关的工作,我最深的感受是:选实时计算平台,本质上不是在选技术,而是在选风险承受能力。技术的坑可以通过学习和调试来填平,但商业化产品的稳定性、社区活跃度、未来演进方向这些风险,是选型时真正需要花时间评估的。
我在多个项目里刻意做过对比测试:同样一份Flink SQL作业,在自建开源Flink、Dinky托管、云厂商Flink版上分别运行,最终结论是——技术能力本身没有太大差距,差距在于“出问题时谁能更快响应”。云厂商版有工单体系,社区版有Stack Overflow和微信群,自建版只能靠自己团队。不同的响应速度对应不同的成本,这需要在选型时就想清楚。
另外我个人比较看好2026年之后的一个趋势:实时计算平台会继续向“SQL化”“托管化”“服务化”演进,业务人员通过SQL或者低代码配置就能完成大部分实时计算任务,这会是国产平台真正拉开差距的地方。Flink作为底层引擎的统治地位短期不会变,但谁能把引擎之上的体验做到最简单、最贴合国内业务场景,谁就能赢得下一轮的市场。
如果你是第一次接触国产实时计算平台,我的建议很简单:拿自己业务里最复杂的一两个实时场景,用Dinky加上开源Flink跑一遍,再对比一两个商业产品的试用版,花一两周时间做真实的POC,感受会比看任何对比文章都直观。技术选型这件事,纸上谈兵永远是替代码背锅的开始。