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