DolphinScheduler源码阅读日记(三)通信机制

DolphinScheduler源码阅读日记(三)通信机制

概述 DolphinScheduler的通信机制是通过Netty来实现的,在Netty上加做了一些封装和抽象 Netty简介 功能介绍 Netty 是一个基于 Java 的高性能网络应用框架,广泛用于开发高并发、低延迟的网络服务器和客户端。它提供了一组丰富的 API 和工具,简化了网络通信的开发过程,特别是在处理大量并发连接和数据流时。 * 为各种传输类型(阻塞和非阻塞socket)提供统一API * 基于灵活且可扩展的事件模型,允许明确分离关注点 * 高度可定制的线程模型——单线程、一个或多个线程池(如 SEDA) * 真正的无连接数据报socket支持(自3.1版起)
阅读更多
DolphinScheduler源码阅读日记(二)MasterServer工作流调度源码解析

DolphinScheduler源码阅读日记(二)MasterServer工作流调度源码解析

系统架构 MasterServer MasterServer采用分布式无中心设计理念,MasterServer主要负责 DAG 任务切分、任务提交监控,并同时监听其它MasterServer和WorkerServer的健康状态。 MasterServer服务启动时向Zookeeper注册临时节点,通过监听Zookeeper临时节点变化来进行容错处理。 MasterServer基于netty提供监听服务。 该服务内主要包含: * DistributedQuartz: 分布式调度组件,主要负责定时任务的启停操作,当quartz调起任务后,Master内部会有线程池具体负责处理任务的后续
阅读更多
DolphinScheduler源码阅读日记(一)开发环境搭建

DolphinScheduler源码阅读日记(一)开发环境搭建

系统环境 环境版本系统macOS 12.2.1/m1 proJREZulu 8.62.0.19-CA-macos-aarch64Maven3.8.6Node18.4.0Pnpm7.3.0Zookeeper3.8.4MySQL8.0.28DolphinScheduler3.2.0搭建项目开发环境 项目下载 从github下载源码 从dolphinscheduler源码仓库下载源码 1 2 git clone https://github.com/apache/dolphinscheduler git checkout 3.2.0 # 切换到3.2.0分支 Zookeeper 下载二进制
阅读更多