DolphinScheduler 是一款分布式的、易扩展的、高可用的数据处置惩罚平台,重要包含调度中央、元数据管理、任务编排、任务调度、任务实行和告警等模块。其技术架构基于 Spring Boot 和 Spring Cloud 技术栈,采用了分布式锁、分布式任务队列等技术确保任务高可用性。摆设灵活,支持单机摆设、分布式摆设、容器化摆设等方式。应用场景广泛,可用于大数据处置惩罚、定时任务和流程管理等领域。具有易扩展性、高可用性、多语言支持、易用性和活跃的开发社区等技术上风。支持二次开发和插件机制,可以与其他大数据处置惩罚框架无缝集成。已被阿里巴巴、腾讯、美团、京东等大型互联网公司广泛使用,市场前景广阔,未来发展可期。可为BI和AI应用提供数据支持。
一、系统架构
DolphinScheduler 是一款分布式的、易扩展的、高可用的数据处置惩罚平台。它重要包含了调度中央、元数据管理、任务编排、任务调度、任务实行和告警等模块。
此中,调度中央是 DolphinScheduler 的核心模块,提供了用户操作界面,支持 DAG 编排任务,同时也是任务调度的控制中央,负责任务的调度、监控和告警。元数据管理模块是 DolphinScheduler 的元数据存储引擎,负责存储和管理任务的元数据信息,以及提供元数据查询 API 接口。
任务编排模块提供了 DAG 图编辑器,支持图形化的 DAG 编排,让任务编排更加直观。
任务调度模块是 DolphinScheduler 的核心模块,负责任务的调度,同时也支持手动调度和定时调度。
任务实行模块是负责实行任务的模块,支持多种差别的任务类型,包括 Hadoop、Spark、Flink 等大数据处置惩罚框架。
告警模块是 DolphinScheduler 支持的一个紧张特性,可以在任务出现异常大概发生故障时举行告警。
二、技术架构
DolphinScheduler 的技术架构重要由以下几个模块组成:
Master Server(调度中央): Master Server 是 DolphinScheduler 的核心模块,负责整个系统的调度和控制。它管理任务的调度逻辑,监控任务的实行情况,并负责任务的告警和监控。Master Server 采用分布式架构,能够实现横向扩展,保证了系统的高可用性和可靠性。
ZooKeeper(元数据管理): DolphinScheduler 使用 ZooKeeper 作为元数据管理模块,用于存储和管理任务的元数据信息,以及提供元数据查询 API 接口。ZooKeeper 提供了分布式和谐服务,用于实现分布式锁、推举等功能,保证了系统的划一性和可靠性。
API Server(任务编排与调度): API Server 提供了任务编排和任务调度的接口服务,用户可以通过 API Server 提供的接口举行 DAG 编排、任务调度等操作。API Server 还负责将用户提交的任务请求转发给 Master Server 举行处置惩罚,并返回实行效果给用户。
Alert Server(告警模块): Alert Server 负责系统告警功能,当任务出现异常大概发生故障时,Alert Server 会发送告警通知给相关人员或系统,以便实时处置惩罚。
Worker Server(任务实行): Worker Server 负责实行任务的模块,支持多种差别的任务类型,包括 Hadoop、Spark、Flink 等大数据处置惩罚框架。Worker Server 吸收来自 Master Server 的任务调度请求,实行详细的任务逻辑,并将实行效果返回给 Master Server。