DophineScheduler通俗版

1.DophineScheduler的架构

ZooKeeper:

AlertServer:

UI:

ApiServer:

  • 一个租户下可以有多个用户;
  • 一个用户可以有多个项目
  • 一个项目可以有多个工作流定义,每个工作流定义只属于一个项目;
  • 一个租户可以被多个工作流定义使用,每个工作流定义必须且只能选择一个租户;
  • 一个工作流定义可以有一个或多个定时的配置;
  • 一个工作流定义对应多个任务定义
  • 一个工作流定义可以有多个工作流实例,一个工作流实例对应一个或多个任务实例
  • Ps:此处的那个心跳机制是Hadoop的一种机制,他是维护master节点和slave节点的一种机制,每过一段时间呢slave节点就发送一个心跳让master知道他还活着,默认五分钟发送一次心跳可以自定义,(且当它1%的心跳失去的话就进入安全模式在此模式下只能进行元数据的读取,不能处理数据)
  • netty详见一篇文章看懂Netty框架 - 知乎,现在笔者还有些迷惑
  • MasterServer

  • 采用分布式无中心设计理念,MasterServer主要负责 DAG 任务切分、任务提交监控,并同时监听其它MasterServer和WorkerServer的健康状态。 MasterServer服务启动时向Zookeeper注册临时节点,通过监听Zookeeper临时节点变化来进行容错处理。 MasterServer基于netty提供监听服务。
  • DistributedQuartz分布式调度组件,主要负责定时任务的启停操作,当quartz调起任务后,Master内部会有线程池具体负责处理任务的后续操作。
  • MasterSchedulerService是一个扫描线程,定时扫描数据库中的t_ds_command表,根据不同的命令类型进行不同的业务操作。
  • WorkflowExecuteRunnable主要是负责DAG任务切分、任务提交监控、各种不同事件类型的逻辑处理。
  • TaskExecuteRunnable主要负责任务的处理和持久化,并生成任务事件提交到工作流的事件队列;
  • EventExecuteService主要负责工作流实例的事件队列的轮询;
  • StateWheelExecuteThread主要负责工作流和任务超时、任务重试、任务依赖的轮询,并生成对应的工作流或任务事件提交到工作流的事件队列;
  • FailoverExecuteThread主要负责Master容错和Worker容错的相关逻辑;
  • WorkerServer

  • WorkerServer也采用分布式无中心设计理念,WorkerServer主要负责任务的执行和提供日志服务。 WorkerServer服务启动时向Zookeeper注册临时节点,并维持心跳。 WorkerServer基于netty提供监听服务。
  • 该服务包含:

  • WorkerManagerThread主要负责任务队列的提交,不断从任务队列中领取任务,提交到线程池处理;
  • TaskExecuteThread主要负责任务执行的流程,根据不同的任务类型进行任务的实际处理;
  • RetryReportTaskStatusThread主要负责定时轮询向Master汇报任务的状态,直到Master回复状态的ack,避免任务状态丢失;
  • DML(data manipulation language)是数据操纵语言:它们是SELECT、UPDATE、INSERT、DELETE,就象它的名字一样,这4条命令是用来对数据库里的数据进行操作的语言。

    DDL(data definition language)是数据定义语言:DDL比DML要多,主要的命令有CREATE、ALTER、DROP等,DDL主要是用在定义或改变表(TABLE)的结构,数据类型,表之间的链接和约束等初始化工作上,他们大多在建立表时使用。

    DCL(DataControlLanguage)是数据库控制语言:是用来设置或更改数据库用户或角色权限的语句,包括(grant,deny,revoke等)语句。

  • 该服务包含:

  • WorkerManagerThread主要负责任务队列的提交,不断从任务队列中领取任务,提交到线程池处理;
  • TaskExecuteThread主要负责任务执行的流程,根据不同的任务类型进行任务的实际处理;
  • RetryReportTaskStatusThread主要负责定时轮询向Master汇报任务的状态,直到Master回复状态的ack,避免任务状态丢失;
  • ZooKeeper服务,系统中的MasterServer和WorkerServer节点都通过ZooKeeper来进行集群管理和容错。另外系统还基于ZooKeeper进行事件监听和分布式锁。 我们也曾经基于Redis实现过队列,不过我们希望DolphinScheduler依赖到的组件尽量地少,所以最后还是去掉了Redis实现。
  • 提供告警服务,通过告警插件的方式实现丰富的告警手段。
  • API接口层,主要负责处理前端UI层的请求。该服务统一提供RESTful api向外部提供请求服务。
  • 系统的前端页面,提供系统的各种可视化操作界面。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/421352.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

时空预测网络ST-Resnet 代码复现

ST-ResNet(Spatio-Temporal Residual Network)是一种用于处理时空数据的深度学习模型,特别适用于视频、时间序列等具有时空结构的数据。下面是一个简单的使用PyTorch搭建ST-ResNet的示例代码。请注意,这只是一个基本的示例&#x…

大模型微调实战笔记

大模型三要素 1.算法:模型结构,训练方法 2.数据:数据和模型效果之间的关系,token分词方法 3.算力:英伟达GPU,模型量化 基于大模型对话的系统架构 基于Lora的模型训练最好用,成本低好上手 提…

【项目日记(三)】内存池的整体框架设计

💓博主CSDN主页:杭电码农-NEO💓   ⏩专栏分类:项目日记-高并发内存池⏪   🚚代码仓库:NEO的学习日记🚚   🌹关注我🫵带你做项目   🔝🔝 开发环境: Visual Studio 2022 项目日…

(酒驾检测、人脸检测、疲劳检测、模拟口罩数据集制作、防酒驾)-常用的论文所用的python代码总结

汇总: 学习感悟:如果小白建议一行一行的Debug,看够一定量的代码,自己就自然顺手写代码了。汇总上传的东西用在自己电脑上一般都需要适当修改的。 20,水平翻转图片 19,颜色空间装换HSV对比演示 18,光照补…

永赢基金引入微签电子签章系统实现审批签章电子化

永赢基金管理有限公司采用微签电子签章系统,作为进一步推动办公自动化转型的解决方案。微签在审批签署方面的显著优势,帮助永赢基金有效解决了原有OA系统无法满足电子文件全程电子化、签章不落地的问题,实现办公效率翻倍。 公司概况 永赢基金…

PaddleOCR实现对表格的提取

1、背景 PaddleOCR: 基于飞桨的OCR工具库,包含总模型仅8.6M的超轻量级中文OCR,单模型支持中英文数字组合识别、竖排文本识别、长文本识别。同时支持多种文本检测、文本识别的训练算法。对pdf/word里的表格中识别出有效信息具有重要意义,比如…

2. SpringBoot3 实战之用户模块接口开发

文章目录 开发模式和环境搭建开发模式环境搭建 1. 用户注册1.1 注册接口基本代码编写1.2 注册接口参数校验 2. 用户登录2.1 登录接口基本代码编写2.2 登录认证2.2.1 登录认证引入2.2.2 JWT 简介2.2.3 登录功能集成 JWT2.2.4 拦截器 3. 获取用户详细信息3.1 获取用户详细信息基本…

【QT+QGIS跨平台编译】之四:【libSSH2+Qt跨平台编译】(一套代码、一套框架,跨平台编译)

文章目录 一、libSSH2介绍二、文件下载三、文件分析四、pro文件五、编译实践 一、libSSH2介绍 libSSH2是一个开源的C函数库,用来实现SSH2协议。 SSH(Secure SHell)到目前为止有两个不兼容的版本——SSH1和SSH2。 SSH2避免了RSA的专利问题,并修补了CRC…

matlab 计算相位角

目录 一、功能概述1、相位角2、主要函数二、代码实现1、复数的幅值和相位2、FFT 相位三、参考链接一、功能概述 1、相位角 angle 函数采用复数

可视化 | 【echarts】多组条形图堆叠条形图(toolbox应用)

文章目录 📚js🐇整体框架🐇整体框架🐇option🐇字体大小设置总结 【echarts】渐变条形折线复合图 【echarts】金字塔图 【echarts】中国地图热力图 【echarts】气泡图 html和css同 【echarts】渐变条形折线复合图…

蓝桥杯、编程考级、NOC、全国青少年信息素养大赛—scratch列表考点

1、小小情报员(202309scratch四级24题) 1.准备工作 (1)选择背景 Colorful City; (2)保留角色小猫,选择角色Ballerina。 2.功能实现 (1)角色小猫初始位置…

各分地域如果流量大的情况下 使用什么组网方式最好?V批N还是SDWAN或者其他?

环境: V批N SDWAN MPLS 问题描述: 各分地域如果流量大的情况下 使用什么组网方式最好?V批N还是sdwan或者其他? 解决方案: 当各地域之间的流量较大时,选择合适的组网方式可以提供更好的网络性能和可靠…