dolphinscheduler v2.0.1 master和worker执行流程分析(一)
前言
以下是基于海豚v2.0.1源码分析得出的图解:master和worker执行流程。
后面所有的讲解都是围绕这一张图,所以在看讲解时,请参考整个图去理解。讲解思路是化整为零,积点成线,集线成面。
本文需要对海豚有一定了解,使用经验的同学。以下简单说一些基础认识,名词叫法可能不太相同,但也应该比较好理解。
调度单元
海豚的调度粒度。海豚里有process和task两个定义,一个process有多个task,依赖关系是task级别的,而真正调度是process级别的,也就是每次调度都是调度整个process。
目前海豚是master和worker架构,分工也很明确:
master负责整个process生命周期,包括task的dag图构建,task的dag执行,选择提交worker,操作DB等;
worker负责task执行,是真正的执行器。这里需要注意,worker不操作DB!
Command解耦
海豚还有个应用层API服务,和master主要通过command解耦。比如正常调度(start_process),重跑(repeat_running)等
但是,终止(stop),暂停(pause)等还是通过netty直连master
dolphinscheduler v2.0.1 master和worker执行流程分析(一)相关推荐
- Apache DolphinScheduler v2.0.1 Master 和 Worker 执行流程分析系列(三)
点亮 ⭐️ Star · 照亮开源之路 https://github.com/apache/dolphinscheduler 这是一系列关于 DolphinScheduler v2.0.1的源码分析文 ...
- dolphinscheduler v2.0.1 master和worker执行流程分析(四)
目录 Worker接受执行 Worker注册的Processor 思考1 Worker接受执行 如红箭头所示,worker大致从接受到task,提交线程执行,最后响应结果结束. TaskExecute ...
- mysql 8.0 一条insert语句的具体执行流程分析(三)
代码版本:mysql 8.0.22 编程语言:c++ && c++11 && c++14 && c++17 上一篇文章:mysql 8.0 一条inse ...
- mysql 8.0 一条insert语句的具体执行流程分析(二)
继续上一篇文章:mysql 8.0 一条insert语句的具体执行流程分析(一)_一缕阳光的博客-CSDN博客 由于最近换工作一直在试用期内,在拼命的学习.总结中,因此没有时间写文章,今天转正了腾出来 ...
- Java多线程- 线程池的基本使用和执行流程分析 - ThreadPoolExecutor
线程池的实现原理 池化技术 一说到线程池自然就会想到池化技术. 其实所谓池化技术,就是把一些能够复用的东西放到池中,避免重复创建.销毁的开销,从而极大提高性能. 常见池化技术的例如: 线程池 内存池 ...
- 动态执行流程分析和性能瓶颈分析的利器——gperftools的Cpu Profiler
在<动态执行流程分析和性能瓶颈分析的利器--valgrind的callgrind>中,我们领略了valgrind对流程和性能瓶颈分析的强大能力.本文将介绍拥有相似能力的gperftools ...
- 动态执行流程分析和性能瓶颈分析的利器——valgrind的callgrind
在<内存.性能问题分析的利器--valgrind>一文中我们简单介绍了下valgrind工具集,本文将使用callgrind工具进行动态执行流程分析和性能瓶颈分析.(转载请指明出于brea ...
- 【网络安全】Metasploit生成的Shellcode的导入函数解析以及执行流程分析(2)
密码破解的利器--彩虹表(rainbow table) 确定 shellcode 依赖于哪些导入将使研究人员进一步了解其其余逻辑.不用动态分析shellcode,并且考虑到研究人员已经弄清楚了上面的哈 ...
- Mybatis执行流程分析_自定义简易Mybatis框架
自定义简易Mybatis框架 Mybatis执行流程分析 Mybatis代码编写流程: Mybatis配置文件加载过程: 需求分析及技术概述 根据上述的功能结构图, 得出如下需求: 1. 需要具有配置 ...
最新文章
- mysql 单例模式好处_PHP单例模式的优点分析
- Josephus 问题相关
- BOOST_LOG_UNIQUE_IDENTIFIER_NAME宏用法的测试程序
- Ubuntu boost库文件安装编译
- 阿里云宣布与Facebook达成合作 让AI开发更简单
- 「SF图片上传不清晰」解决方案
- 函数递归/二分法/列表,字典生成式/三元表达式/匿名函数/内置函数
- ALTERA 命名规则
- java lambda 原理_Java Lambda表达式原理及多线程实现
- 内网穿透工具NatApp使用教程
- C2. Skyscrapers (hard version)(单调栈、dp)
- 【最优化导论】一维搜索方法
- 关于C++中的随机数生成器
- 计算广告:第一章——在线广告综述
- 关于PScs6无法拖入图片的解决
- (c++ 遗传算法解决TSP问题)不是吧,这就是遗传算法吗?爱了爱了
- 神经网络学说的主要观点,神经网络研究属于下列
- 如何解决移动硬盘弹出时报错:设备正在使用中
- android 版本更新和下载安装适配7.0 8.0 9.0
- return -1是什么意思