dolphinscheduler -插件开发
微内核插件化的架构设计
关注扩展接口即可,底层相关逻辑如插件加载等内核已经实现
插件开发
官方插件
dolphinscheduler-spi 模块是 spi 通用代码库,定义了所有的插件模块,比如告警模块,注册中心模块
dolphinscheduler-datasource-api 模块提供了所有数据源对外访问的 API
dolphinscheduler-registry-api 定义了实现插件的标准
dolphinscheduler-task-api 模块提供了所有任务对外访问的 API
dolphinscheduler-alert-plugins 如 Email、DingTalk、Script等。
dolphinscheduler-registry-plugin 模块下是我们目前所提供的注册中心插件
任务插件-- 单独实现插件对应的前端页面
yarn 任务 org.apache.dolphinscheduler.plugin.task.api.AbstractYarnTask
非yarn任务 org.apache.dolphinscheduler.spi.task.TaskChannel
参考官方
基于YARN的计算(参见MapReduceTask)
非YARN的计算(参见ShellTask) SqlTask
数据源插件
org.apache.dolphinscheduler.spi.datasource.DataSourceChannel
org.apache.dolphinscheduler.spi.datasource.DataSourceChannelFactory
org.apache.dolphinscheduler.plugin.datasource.api.client.CommonDataSourceClient
告警插件
org.apache.dolphinscheduler.alert.api.AlertChannelFactory
注册中心插件
org.apache.dolphinscheduler.registry.api.RegistryFactory
具体案例
待补充
参考
https://dolphinscheduler.apache.org/zh-cn/development/backend/spi/task.html