etcd簡單介紹


一、etcd是什么
  etcd是一個分布式的、高可用的、一致的key-value存儲數據庫,基於Go語言實現,主要用於共享配置和服務發現。

 

二、為什么需要etcd
  在分布式系統中,各種服務配置信息的管理共享和服務發現是一個很基本也是很重要的問題。etcd可集中管理配置信息,服務端將配置信息存儲於etcd,客戶端通過etcd得到服務配置信息,etcd監聽配置信息的改變,發現改變通知客戶端。
為了防止單點故障,還可啟動多個etcd組成集群。etcd集群使用raft一致性算法處理日志復制,保證多節點數據的強一致性。

 

三、etcd的raft算法
1. 主節點選舉
  etcd集群中有一個主節點(leader,負責寫操作),多個從節點(follower,負責讀操作)。主節點會發送心跳包給從節點,從節點進行響應。從節點若超過一定時間(一定范圍內的隨機值)沒有收到主節點的心跳包,則認為主節點已不可用,自身可成為候選主節點(candidate),發起投票,若超過一半節點響應,則可成為新的主節點(可能會有幾輪爭奪)。在每一輪投票中,參與投票的所有節點,只響應收到的第一個投票請求,對后續請求不作響應。
2. 數據更新
(1)第一階段:主節點將修改記錄到本地日志,並將日志復制給所有從節點,若超過一半節點響應,則認為操作成功,通知客戶端。
(2)第二階段:主節點提交本地修改(持久化到磁盤),通知所有從節點也進行數據修改提交。

 

四、安裝
1. 下載etcd
https://github.com/etcd-io/etcd/releases
2. 安裝etcd
解壓文件,添加可執行文件路徑到環境變量PATH中。
3. 下載並安裝etcd-manager(etcd的可視化客戶端)
https://etcdmanager.io/

 

五、簡單操作
1. 啟動etcd

默認端口為2379。
進入etcd安裝目錄,etcdctl客戶端可用於請求etcd。
2. 查詢版本號

3. 鍵值添加與查詢

4. 在etcd-manager中查詢:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM