leo-lao edited a comment on issue #7633:
URL: 
https://github.com/apache/dolphinscheduler/issues/7633#issuecomment-1007978112


   Recently I made the design for k8s registry:
   
   ## Objective
   add one new registry for DS, and make it free of zookeeper dependency on k8s 
environments.
   
   this registry should only be used when DS running on k8s
   
   ## Core Implementations
   
   dependency: https://github.com/fabric8io/kubernetes-client
   distributed lock: [fabric 
lock](https://github.com/fabric8io/kubernetes-client/tree/master/kubernetes-client/src/main/java/io/fabric8/kubernetes/client/extended/leaderelection/resourcelock
   )
   <table>
   <tr>
     <td> item
        <td>zookeeper registry
        <td>k8s registry
   <tr>
     <td> how to register self
        <td> create one new node certain path
        <td> do nothing, pods on ks8 environments will be discovered 
automatically
   <tr>
     <td> how to discover otherss
        <td> use CuratorFramework client to connect and watch zk cluster
        <td> use fabric client to connect and watch k8s cluster
    <tr>
     <td> how to implements distributed lock
        <td> InterProcessMutex in curator project
        <td> lock in fabric, according to [stack 
overflow](https://stackoverflow.com/questions/34409160/kubernetes-getting-cluster-locks-over-a-replication
   )
    <tr>
     <td> how to implements HeartBeatTask
        <td> periodically persist ephemeral node on specific zk path
        <td> do nothing, K8s will check pod`s liveness automatically
   </table>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to