DolphinScheduler
2025/12/31大约 4 分钟
参考
DolphinScheduler
解析版本:DolphinScheduler 3.2.2
DolphinScheduler 3.2.2 代码模块解析
以下是基于 Apache DolphinScheduler 3.2.2 版本官方文档及社区技术资料的代码模块解析表格,
模块 | 子模块 | 核心定位 | 核心作用 | 关键特性(3.2.2 版本) |
---|---|---|---|---|
dolphinscheduler-standalone-server | / | 单机模式部署 | 单机模式服务端,集成所有核心服务(Master/Worker/API等) | 简化本地开发与测试流程,无需分布式环境支持 |
dolphinscheduler-meter | / | 系统监控应用 | 系统监控指标采集模块,集成 Prometheus 等工具 | 暴露 Master/Worker 忙碌状态指标,增强服务监控能力 |
dolphinscheduler-data-quality | / | 数据质量应用 | 数据质量校验模块,集成数据校验规则和任务执行逻辑 | 支持在 DAG 中插入数据质量检查节点,确保数据处理准确性 |
dolphinscheduler-aop | / | 编码支持 | 提供支持,用于日志、事务、权限等统一拦截处理 | 增强系统可维护性,支持自定义切面逻辑 |
dolphinscheduler-spi | / | 编码支持 | 服务提供接口(SPI),定义插件扩展机制 | 支持任务/存储/注册中心动态扩展,提供插件开发规范 |
dolphinscheduler-common | / | 公共模块 | 公共基础模块,包含工具类、枚举、常量定义和通用数据结构 | 使用安全构造器防御 YAML 注入(snakeyaml 安全解析) |
dolphinscheduler-tools | / | 公共模块 | 系统工具集,包含数据库初始化、升级脚本及环境配置工具 | 提供 upgrade-schema.sh 脚本,支持元数据库自动迁移 |
dolphinscheduler-service | / | 核心服务层 | 核心服务层,集成 Quartz 调度、Zookeeper 操作、日志客户端等能力 | 支持分布式调度事件驱动模型,优化任务状态轮询机制(StateWheelExecuteThread ) |
dolphinscheduler-dao | / | 数据访问层 | 数据访问层,操作元数据库(工作流实例、任务状态等) | 优化事务逻辑,确保命令消费与实例生成的原子性 |
dolphinscheduler-dao-plugin | dolphinscheduler-dao-api | 数据访问层 | DAO 插件抽象层,定义多数据库访问接口 | 支持灵活切换元数据库类型 |
dolphinscheduler-dao-plugin-all | 数据访问层 | DAO 插件聚合包,集成多数据库驱动 | 修复分页查询总页数错误 | |
dolphinscheduler-dao-h2 | 数据访问层 | 数据库驱动实现,适配 H2 元数据存储 | 用于本地测试环境 | |
dolphinscheduler-dao-mysql | 数据访问层 | 数据库驱动实现,适配 MySQL 元数据存储 | 仅支持 MySQL 8.0.16+,修复数据源名称获取逻辑 | |
dolphinscheduler-dao-pg | 数据访问层 | 数据库驱动实现,适配 PostgreSQL 元数据存储 | 支持 PostgreSQL 8.2.15+ 版本 | |
dolphinscheduler-datasource | dolphinscheduler-datasource-api | 数据源 | 数据源抽象层,定义多数据源连接与操作接口 | 支持动态加载数据源配置 |
dolphinscheduler-datasource-all | 数据源 | 数据源实现层,集成 MySQL/Hive 等数据源驱动 | 修复 Hive JDBC URL 解析问题 | |
dolphinscheduler-registry | dolphinscheduler-registry-api | 注册中心 | 注册中心抽象层,定义节点注册与发现接口 | 新增 ETCD/JDBC 注册中心支持,优化容错机制 |
dolphinscheduler-registry-all | 注册中心 | 注册中心实现层,集成 ZooKeeper/ETCD 等具体实现 | 通过临时节点监听实现故障转移 | |
dolphinscheduler-extract | dolphinscheduler-extract-common | RPC通信 | 支撑工具,保障执行可观测性 | |
dolphinscheduler-extract-base | RPC通信 | 通信基石,定义协议与注解 | ||
dolphinscheduler-scheduler | dolphinscheduler-scheduler-api | 调度算法 | 调度算法抽象层,定义任务分片与负载均衡接口 | 基于 Slot 分片策略避免重复调度 |
dolphinscheduler-scheduler-all | 调度算法 | 调度算法实现层,支持分布式调度决策 | 减少 Hikari 连接池资源占用 | |
dolphinscheduler-task | dolphinscheduler-task-api | 任务执行 | 任务执行抽象层,定义任务插件接口(如 Shell/SQL/Spark) | 优化跨工作流依赖任务(DependentTask ) |
dolphinscheduler-task-all | 任务执行 | 任务执行实现层,集成具体任务运行时逻辑 | 修复任务终止后异常调度问题 | |
dolphinscheduler-storage | dolphinscheduler-storage-api | 存储服务 | 存储服务抽象层,定义资源文件持久化接口 | 增加资源路径全名检查,防止越权文件操作 |
dolphinscheduler-storage-all | 存储服务 | 存储服务实现层,支持 HDFS/S3/OSS 等存储引擎 | 重构资源中心,默认使用本地存储并支持覆盖上传 | |
dolphinscheduler-microbench | 微基准测试 | 对系统底层组件(如线程池、锁机制、网络通信等)进行细粒度性能测试,量化关键代码路径的执行效率 |