DolphinScheduler/dolphinscheduler-registry
旺阳 6aa6e114a5
[Improvement][Alert] Add a test send feature when creating an alert instance (#15163)
* add alert test send feature

* update doc

* add alarm instance test send ui

* update

* fix mvn

* fix test

* update

* update

* change to rpc

* fix ut

* fix ut

* update

* update

* change result

* update

* Update docs/docs/en/guide/alert/alert_plugin_user_guide.md

Co-authored-by: Aaron Wang <wangweirao16@gmail.com>

---------

Co-authored-by: Aaron Wang <wangweirao16@gmail.com>
2023-11-20 10:03:37 +08:00
..
dolphinscheduler-registry-all Add jdbc registry module (#13812) 2023-03-29 17:33:12 +08:00
dolphinscheduler-registry-api [Improvement][Alert] Add a test send feature when creating an alert instance (#15163) 2023-11-20 10:03:37 +08:00
dolphinscheduler-registry-plugins Fix the ephemeralId will not be deleted before jdbc-registry closed. (#14936) 2023-09-19 10:34:07 +08:00
pom.xml [Improvement][Style] Fix remaining style errors and wildcard imports (#12412) 2022-10-19 11:08:04 +08:00
README.md [Improvement][doc] fix typo in readme (#14878) 2023-09-08 00:11:59 +08:00

Function

DS use registry to do the below three things:

  1. Store the metadata of master/worker so that it can get notify when nodes up and down.
  2. Store the metadata of worker to do load balance.
  3. Acquire a global lock when do failover.

So for DS, the registry need to notify the server when the server subscribe data have added/deleted/updated, support a way to create/release a global lock, delete the server's metadata when server down.

How to use

At present, we have implements three registry: Zookeeper(Default),Etcd,Mysql. If you want to use them, you should config it at resource/application.yaml. The configuration details can be viewed in the README of plugin under Module dolphinscheduler-registry-plugins

Module

dolphinscheduler-registry-all

This module is used for exporting the implementation of registry. If you want to add new registry,you should add the dependency in the pom.xml

dolphinscheduler-registry-api

This module contains the relevant interfaces involved in the use of the registry. The following are several important interfaces

  1. Registry Interface: If you want to implement your own registry, you just need to implement this interface
  2. ConnectionListener Interface: This interface is responsible for the connection status between the client and the registry, The connection state can be viewed in ConnectionState.java
  3. SubscribeListener Interface: This interface is responsible for monitoring the state changes of child nodes under the specified prefix. Event content can be viewed in event.java

dolphinscheduler-registry-plugins

This module contains all registry implementations in DS