# DolphinScheduler

# 关于 DolphinScheduler

Apache DolphinScheduler 是一个分布式的易扩展的可视化 DAG 工作流任务调度系统。旨在解决复杂大数据任务依赖关系,并为应用程序提供数据和各种 OPS 编排. DophinSchedulerDAG 流的方式组装任务,可以及时监控任务的执行状态,支持重试.

  • 丰富的使用场景
  • 高可靠性: High Reliability , 去中心化设计,确保稳定性。原生支持高可用 High Avaliable 的任务队列,提供过载容错能力.
  • 搞扩展性: High Scalability , 支持多租户和在线资源管理。支持每天 10 万个数据任务的稳定运行

# 模块

  • master
  • worker
  • aler
  • api web
  • common
  • dao
  • remote
  • service
  • ui

# 架构 architecture

  1. MasterServer :采用分布式无中心的设计理念, MasterServer 主要负责 DAG 任务切分、任务提交监控,并同时监听其他 MasterServerWorkerServer 的健康状态. MasterServer 服务启动时向 Zookeeper 注册临时节点,通过监听 Zookeeper 临时节点的变化来进行容错处理, MasterServer 基于 netty 提供监听服务,该服务主要包含:
    • Distributed Quartz 分布式调度组件,主要负责定时任务的启停操作,当 quartz 调启任务后, Master 内部会有线程池具体负责处理任务的后续操作.
    • MasterSchedulerThread 是一个扫描线程,定时扫描数据库中的 command 表,根据不同的任务类型进行不同的业务操作
    • MasterExecThread 主要负责 DAG 任务切分、任务提交监控、各种不同的任务类型的逻辑处理
    • MasterTaskExecThread 主要复制任务的可持久化
  2. WorkerServer :采用分布式无中心设计理念, WorkerServer 主要负责任务的执行和提供日志服务. WorkerServer 服务启动时向 Zookeeper 注册临时节点,比起维持心跳, WorkerServer 基于 netty 提供监听服务,该服务主要包含:
    • 1
  3. Zookeeper :系统中的 MasterServerWorkerServer 节点都通过 Zookeeper 来进行集群的管理和容错。另外系统还基于 ZooKeeper 进行时间的监听和分布式锁.
  4. Task Queue
  5. Alert
  6. API
Edited on Views times

Give me a cup of [coffee]~( ̄▽ ̄)~*

Value WeChat Pay

WeChat Pay