Skip to content

工程脚手架:Connector SPI 多模块 + Flink/SeaTunnel 作业骨架(可独立运行) #1

@JIAQIA

Description

@JIAQIA

背景

data-foundation 建立可独立开发 / 编译 / 调试 / 运行的工程脚手架——数据底座(流批采集 + 湖仓 + 统一计算 + Connector SPI)。核心是把 Connector SPI 的"加插件不动主干"骨架先立起来(信创刚需收敛点)。

依赖:主仓 libs-java HashMatrixData/hashmatrix#1;设计见架构 03-技术选型 / 04-工程与部署

任务清单(DoD)

Maven 多模块(独立可构建运行)

  • connector-spi/:定义 SPI 接口(连接 / 元数据扫描 / 读写)
  • connector-jdbc/:标准 JDBC 参考实现(PostgreSQL/MySQL)
  • connector-dialect-*/:达梦 / 人大金仓 / OceanBase 方言插件占位新增数据库 = 加一个插件 jar,不改主干
  • ingest/:Flink + Flink-CDC(流)/ SeaTunnel(批)作业骨架(本地 mini-cluster 可跑)
  • app/:服务骨架,<parent> + import BOM + starter-tenantMaven 坐标引用);只 clone 本仓即可 mvn package

多租户与配额

  • 采集 / 计算 / 湖仓按租户隔离 catalog/database(Doris/Paimon per-tenant);作业受租户配额约束

测试与 Mock

  • 复用 starter-test;Connector SPI 契约测试(参考实现);Mock 数据脱敏acme/tenant-demo
  • Flink 作业本地集成测试(Testcontainers / mini-cluster)

本地独立运行/调试

  • docker-compose.local.yml(PG + MinIO + 可选 Doris/Kafka);Dockerfile;健康检查通过

交付汇入

边界

  • 数据采集(本仓·主链路·搬行数据)≠ 元数据采集(governance·旁路·取结构)(AD-15):二者共用 Connector SPI + 数据源统一管理,连接器只实现一次。

约束

  • 🔴 红线见 CLAUDE.md(公开仓,禁甲方信息,示例脱敏)。

验收

只 clone 本仓 → mvn package(多模块)通过 → connector-jdbc 契约测试绿 → docker-compose up + Flink 样例本地跑通。

Metadata

Metadata

Assignees

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions