3 月开始贡献,半年成长为 Committer:Apache SeaTunnel 贡献者牛志伟的开源故事
最近,Apache SeaTunnel 社区迎来了一位新 Committer!
相信很多社区成员对他并不陌生:他长期活跃于 GitHub Issue 讨论中,积极参与项目建设,同时通过撰写多篇 Apache SeaTunnel 使用实践与项目参与经验文章,帮助更多用户了解和使用 Apache SeaTunnel,为社区贡献了宝贵的技术分享。
从 Contributor 到 Committer,他用半年多时间持续投入代码贡献、技术交流与社区建设,最终获得社区的认可,承担起更大的社区责任。
他的开源成长之路经历了哪些探索与积累?让我们通过本次社区采访,一起走近这位新 Committer,了解他的技术实践与开源故事。
Committer 个人简介

大家好,我是牛志伟,目前在领创集团担任高级开发工程师。我主要关注实时数据集成、CDC、分布式计算引擎、连接器架构以及性能与稳定性建设。在 Apache SeaTunnel 社区中,我重点参与 Zeta Engine、Connector V2、配置校验框架、性能基准和 E2E 测试体系等方向的开发与维护。
采访实录
- 您参与开源有多长时间了?开源为什么吸引你?
我从 2026 年 3 月开始参与开源,最初参与的项目就是 Apache SeaTunnel。
开源最吸引我的地方,是它把真实问题、工程实践和人与人之间的协作连接在了一起。在公司内部解决一个问题,受益范围通常局限于某个业务;而将一个通用方案贡献到开源社区后,它可能帮助来自不同行业、不同技术背景的用户。
- 您从何时参与 SeaTunnel 开源贡献?契机是什么?
我从 2026 年 3 月开始向 Apache SeaTunnel 提交代码。最初的契机是在实际数据同步场景中遇到了 JDBC Sink 定时刷写问题:低流量任务无法及时达到批量大小,导致数据不能及时写入目标端。
从这个问题出发,我开始深入了解 SeaTunnel,并逐步参与 REST API、CDC、连接器和引擎等方面的改进。随着对项目和社区协作方式更加熟悉,我的贡献也逐渐扩展到配置校验、测试体系和性能工程等方向。
- 如今获推选为 SeaTunnel Committer,请总结一下您为社区所做的贡献,包括代码和非代码贡献。
我的贡献主要集中在引擎能力、配置校验、性能工程、边缘数据采集和测试稳定性几个方向。
- 推动 STIP-23:引擎统一的定时刷写能力
针对低吞吐任务数据迟迟无法落库的问题,我参与推动 STIP-23,将定时刷写从 JDBC Connector 的局部实现下沉为引擎公共能力。引擎统一调度 Flush Action,并处理异常传播、Writer 生命周期和非 2PC 保护;目前已在 JDBC、Elasticsearch、Doris、StarRocks、ClickHouse、MongoDB、Hudi 等连接器中落地。
- 推动 STIP-28:声明式配置校验框架
针对插件中配置校验逻辑分散、错误提示不一致的问题,我参与完善了 OptionRule 声明式校验体系,增加 Map 条件、选项互斥与组合约束以及可插拔扩展校验,并修复异常聚合和错误上下文丢失问题。随后推动 JDBC、Kafka、RocketMQ、Elasticsearch 和 Transform V2 等模块迁移到统一规则,降低插件开发和用户排障成本。
- 建设性能基准与持续性能回归体系
我参与推动 STIP-32 长期 Benchmark 框架,围绕 JMH 和真实引擎链路补充 Source-Sink、Transform、Checkpoint、状态存储、队列和序列化等基准,并在报告中加入误差与变异系数。基于基准结果,我还优化了 ProtoStuff Schema 查找中的锁竞争,希望形成“发现、定位、优化、验证”的性能治理闭环。
- 推动 STIP-24:边缘数据采集能力
我参与推动 STIP-24,建设从边缘设备到 Zeta Engine 的轻量采集链路。引擎侧新增 EdgeSocket Source,支持 Token 鉴权、压缩加密、断线重连和背压;边缘侧提供独立 Edge Agent,支持文件采集、断点续读、SQLite WAL、失败重试和标准发行包,并通过 E2E 测试验证“Edge Agent—EdgeSocket—Zeta—MySQL”的完整链路。
- 改善 CI 与 E2E 测试稳定性
我持续治理 JDBC、Kafka、Redis、Kudu、CDC、RocketMQ 等模块的不稳定测试,主要采用条件等待、动态端口、明确的容器就绪检查、进程回收和测试分片等方式。目标是减少偶发失败和无效重跑,让 CI 能更准确地反映代码质量。
- 非代码贡献
除代码外,我也持续参与 Issue 分析、PR Review、方案讨论和测试失败定位,补充了 Kubernetes 部署、Zeta 背压、定时刷写和性能基准等文档,并参与社区 Meetup,与开发者和用户交流实践经验。我希望这些工作既能提高项目质量,也能帮助更多人了解和参与 SeaTunnel。
- 您认为 SeaTunnel 与其他竞品相比的不同点或优势是什么?不足之处是什么?社区有哪些吸引您继续参与的地方?
我认为 SeaTunnel 的优势主要有三点:一是支持 Zeta、Flink、Spark 等多种执行引擎,用户可以根据实际场景灵活选择;二是拥有自研的 Zeta Engine,能够专注于数据同步场景持续提升性能和稳定性;三是具备丰富的连接器生态,可以满足多种异构数据源之间的同步需求。
不足之处也比较明确:
- 连接器数量多,但不同连接器在功能完整度、语义一致性和成熟度上仍有差异;
- 引擎仍需要持续迭代,进一步提升性能和稳定性;
- CI 规模很大,如何减少不稳定测试和缩短反馈时间仍是长期课题。
让我愿意继续参与的,一方面是项目确实有很多有价值、能产生实际影响的工程问题;另一方面是社区整体比较开放,贡献者可以从一个小问题开始,在讨论和 Review 中逐渐承担更完整的方案。社区对实际行动和持续贡献的认可,也让我感受到自己的投入能够推动项目向前发展。
- 您是否针对 SeaTunnel 的不足进行过二次开发?是否已经贡献给社区?开发方案是否可以介绍一下?
目前没有针对 SeaTunnel 进行独立的二次开发。对于使用过程中发现的共性问题或功能需求,我更倾向于直接在社区讨论并贡献到上游,让更多用户受益,也避免长期维护私有分支。
- 您所在公司是否使用过 SeaTunnel?使用场景是什么?
我所在的公司已经使用 SeaTunnel,主要应用于不同数据源之间的数据同步。SeaTunnel 丰富的连接器和统一的数据集成能力,能够降低异构数据同步的开发与维护成本。
- 您还希望参与 SeaTunnel 社区能对您的个人成长提供什么样的支持?
我希望在参与社区的过程中多向大家学习解决问题的思路和系统设计实践,不断提升自己的技术视野、设计能力和沟通协作能力。
- 您对社区 Committer 角色的理解是什么?Committer 应该在社区中做什么、起到什么作用?
我理解 Committer 首先不是一个荣誉称号,而是一份长期责任。它代表社区认可了一个贡献者的技术判断、协作方式和持续投入,也意味着需要从“完成自己的 PR”转向“帮助整个项目和社区更健康地发展”。
我认为 Committer 应持续维护项目、认真 Review 贡献、帮助新贡献者,并遵循 Apache Way,以公开、透明和基于共识的方式推动社区发展。
- 获推选 Committer,您有什么感想或想对社区说的话?对项目发展有什么建议?
能够成为 Apache SeaTunnel Committer,我非常感谢社区对我的信任,也感谢每一位帮助我 Review 代码、讨论方案和定位问题的伙伴。很多改动从最初想法到最终合并,都经历了反复讨论和迭代;正是这些过程让我对数据集成、分布式系统和开源协作有了更深入的理解。
对项目发展的建议是:在继续扩展连接器生态的同时,进一步加强能力一致性、性能基线和长期稳定性建设;建立更清晰的连接器成熟度与兼容性标准;继续改善文档、诊断工具和新贡献者体验。对于关键路径,尽量形成设计文档、自动化测试、性能数据和用户案例相互支撑的闭环。
- 未来一段时间,您个人在社区有何计划以推动项目进一步发展?
未来我计划重点投入以下方向:
- 继续完善 Zeta Engine 的性能与稳定性,关注 Checkpoint、状态存储、序列化、任务生命周期和故障恢复等核心路径。
- 完善长期性能基准体系,让性能变化可复现、可比较、可追踪,并推动基准结果真正服务于日常 Review 和版本发布。
- 增加高质量 PR Review,并帮助新贡献者从第一个 Issue 逐步参与到完整方案中。
浙公网安备 33010602011771号