1.概述
DolphinScheduler的架构遵循分布式设计,其核心包括多个组件,每个组件负责特定的功能,这样可以避免单点故障并提供可扩展性。
- Master节点:负责管理调度任务的调度流程、协调任务的执行和状态监控。Master节点还负责任务的调度调度策略的选择(例如负载均衡)以及资源的分配。
- Worker节点:负责实际执行任务。每个Worker节点负责执行特定的任务,如果任务需要调度,Master节点会指派任务给空闲的Worker节点。
- Zookeeper:用于协调Master节点之间的通信,保持系统一致性,选举Master节点,保证在Master节点宕机时其他节点可以接管工作。Zookeeper还用来存储任务的元数据,确保数据的一致性。
- 数据库:DolphinScheduler使用数据库来持久化任务元数据、执行状态、任务日志、工作流定义等。数据库是系统的核心存储介质,可以使用关系型数据库(如MySQL)来存储这些信息。
Zookeeper的高可用性、强一致性、临时节点、事件通知和分布式协调能力,使它成为一个理想的注册中心解决方案。它能够处理服务的注册、发现、健康检查等任务,确保服务在分布式环境中的高可用