目录
1. Apache DolphinScheduler架构
- 1. Apache DolphinScheduler架构
- 2. Apache DolphinScheduler架构和特点
- 3. Apache DolphinScheduler各模块介绍
Master是分布式无中心的,MasterServer同时监控其它MasterServer的状态
执行流程:
- 当创建一个工作流,UI通过API将元数据写入到元数据库DB
- 多个MasterServer的扫描线程从元数据库DB去抢夺工作流进行执行
- MasterServer对工作流进行DAG切分,将切分后的任务分发给WorkerServer进行执行,同时MasterServer对任务进行监听
- WorkerServer对任务进行执行。同时向MasterServer反馈任务状态
- MasterWorker将任务状态写入到元数据库DB
- UI界面通过API从元数据库DB查询工作流状态
- UI界面直接从WorkerServer上进行log日志的查看
- Alert将告警的信息储存在元数据库DB中
- 如果任务过多,Master采用任务缓存队列,来避免过载
- 支持多租户
- 任务支持重试、从指定节点恢复失败、暂停及Kill任务等操作
- 调度器使用分布式调度,调度能力随集群线性增长,Master和Worker支持动态上下线
- 支持流程实例和任务实例的优先级
- 支持SQL任务查询结果邮件发送
- 支持区间并行和串行两种补历史数据的方式
- dolphinscheduler-alert:告警模块,提供AlertServer服务
- dolphinscheduler-api:web应用模块,提供ApiServer服务
- dolphinscheduler-common:通用的常量枚举、工具类、数据结构或者基类
- dolphinscheduler-dao:提供数据库访问等操作
- dolphinscheduler-remote:基于netty的客户端、服务端
- dolphinscheduler-server:MasterServer和WorkerServer服务
- dolphinscheduler-service:service模块,包含Quartz、Zookeeper、日志客户端访问服务,便于server模块和api模块调用
- dolphinscheduler-ui:前端模块