1. 程式人生 > >基於 Etcd 的分散式鎖——分散式鎖的最佳實踐

基於 Etcd 的分散式鎖——分散式鎖的最佳實踐

目前,可實現分散式鎖的開源軟體還是比較多的,其中應用最廣泛、大家最熟悉的應該就是 ZooKeeper,此外還有資料庫、Redis、Chubby 等。但若從讀寫效能、可靠性、可用性、安全性和複雜度等方面綜合考量,作為後起之秀的 Etcd 無疑是其中的 “佼佼者” 。它完全媲美業界“名宿” ZooKeeper,在有些方面,Etcd 甚至超越了 ZooKeeper,如 Etcd 採用的 Raft 協議就要比 ZooKeeper 採用的 Zab 協議簡單、易理解。

本場 Chat 將繼續“分散式鎖”這一主題,介紹基於 Etcd 分散式鎖方案。Etcd:一個採用 Go 語言實現的高可用的分散式鍵值( Key-Value)資料庫,主要用途是共享配置和服務發現。目前,Etcd 已經廣泛用於分散式系統,本場 Chat 將介紹 Etcd 的優秀實踐之一:分散式鎖。

本場 Chat 主要內容:

  1. Etcd 簡介;
  2. Raft 演算法解讀;
  3. Etcd 實現分散式鎖的原理;
  4. Etcd Java 客戶端 Jetcd 介紹;
  5. 從原理出發:基於 Etcd 實現分散式鎖,全方位細節展示;
  6. 從接口出發:基於 Etcd 的 Lock 介面實現分散式鎖。

特別提示:關於分散式訊息佇列、快取、鎖的內容可閱讀作者的達人課《分散式中介軟體實踐之路》