Skip to content

后端架构

分层结构

Controller Layer    ← REST API 入口

Service Layer       ← 业务逻辑

Mapper Layer        ← MyBatis-Plus 数据访问

MySQL               ← 持久化

核心模块

数据资产(DataTable)

  • DataTableController — 表 CRUD、分页查询、层级筛选
  • DataTableService — 表管理业务逻辑
  • DataFieldService — 字段管理

任务管理(DataTask)

  • DataTaskController — 任务 CRUD、执行触发
  • DataTaskService — 任务配置与调度逻辑
  • DolphinService — DolphinScheduler OpenAPI 集成

数据血缘(Lineage)

  • LineageController — 血缘查询 API
  • LineageService — 血缘关系计算与缓存

执行监控

  • TaskExecutionController — 执行历史查询
  • TaskExecutionService — 状态同步与日志管理

DolphinScheduler 集成

后端通过 WebFlux 异步调用 DolphinScheduler OpenAPI:

  1. 创建/更新工作流定义
  2. 上线/下线工作流
  3. 触发工作流执行
  4. 查询执行状态和日志

配置存储在数据库 dolphin_config 表中,支持运行时动态修改。

数据库迁移

使用 Flyway 管理数据库 schema 变更:

  • 迁移脚本位于 backend/src/main/resources/db/migration/
  • 命名规则:V{version}__{description}.sql
  • 服务启动时自动执行未应用的迁移

基于 GPL-3.0 许可发布