wjf222 commented on issue #8975:
URL: 
https://github.com/apache/dolphinscheduler/issues/8975#issuecomment-1184374012

   ## Design
   ### CRUD
   Etcd is a distributed key-value storage system which support CRUD 
originally.       
   For some temp keys which need to be deleted on discoonect. we can grant 
leases for keys from etcd cluster.When a key is attached to a lease, its 
lifetime is bound to the lease's lifetime which in turn is governed by a 
time-to-live(TTL).Once a lease's TTL elapses, the lease expires and all 
attached keys are deleted.Applications can keep a lease alive by refreshing its 
TTL so it does not expire. By lease and keepalive, we can make sure the key 
will exist when the client disconnect, the lease will delete.
   ### Subscribe/Notify
   There is a watchClient in etcd to monitor changes to keys. When a watch 
response coming,the listener will notify.
   ### Lock
   Etcd Lock uses a lease on a key which is revoked when the lock is reased.If 
the server the lock is running on dies, or the network is disconnected, etcd 
will time out the lock.
   ### ConnectionStateListener
   We get Client's shared channel by reflect, becase all fields is private on 
jetcd.
   There will be a scheduler thread, if the channel state has changed, then is 
will trigger the connection listener.


-- 
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