天天看點

用Etcd實作分布式鎖和選主

etcd的v3版本官方client裡有一個concurrency的包,裡面實作了分布式鎖和選主。本文分析一下它是如何實作的。

在code中注釋介紹了具體的實作。

總結一下,上面的鎖的實作,所有的用戶端都在service/lock下建立一個自己的key,createrevision最小的那個用戶端獲得鎖,也就是最早建立key的用戶端獲得鎖,之後按照建立的時間先後依次獲得鎖。