DolphinScheduler-1: Master、Worker的线程模型
Master、Worker是DolphinScheduler最重要的两个模块,Master负责任务的调度,Worker负责任务的执行。
DolphinScheduler 官网的这张图概括了整体的流程:
注:图片基于V1.3.0,跟当前略有出入
1. 线程模型
任务提交过程中,使用到了众多线程,其中最重要的单线程、线程池,如图所示:
DolphinScheduler 的线程模型总的来说:
串联了多个生产者-消费者,队列使用内存队列
线程定义了独立的名字区分
Master-Worker 之间通过 Netty 通信
2. Master线程模型
定时调度的处理入口类是class MasterSchedulerBootstrap extends BaseDaemo...
2022年个人总结
1. 工作
今年的工作内容按照上半年、下半年分成了两块内容:
上半年的主要精力还是在大数据实时计算上,对实时计算平台、底层架构、FlinkSQL都做了较大升级,整体上还算满意。美中不足的是Flink任务的资源动态扩缩容这个项目,由于精力不足没能亲力亲为,我司的导师制度出发点我非常喜欢,现在看来还是虎头蛇尾了。
6月份经历了一次组织的变动,当时触动还是比较大的。有那么两周我经常陷入很多问题的反思中,比如工作方法、结果导向、收益如何汇报等等,最后的结论是:坚持自我、持续学习。
下半年增加了负责任务调度系统,面临的是非常古老、重要且一直无人下定决心重构的一套系统。工作重心也从实时转到了离线这块,感觉成长还是比较大的。也促使我不断思考FlinkSQL和HiveSQL的区别(提交、编译D...
238 post articles, 30 pages.