Etcd學習記錄

2022-06-19 21:48:13 字數 1289 閱讀 7962

簡介

etcd是乙個高可用的鍵值儲存系統,主要用於共享配置和服務發現。etcd是由coreos開發並維護的,靈感來自於 zookeeper 和 doozer,

它使用go語言編寫,並通過raft一致性演算法處理日誌複製以保證強一致性。raft是乙個來自stanford的新的一致性演算法,適用於分布式系統的

日誌複製,raft通過選舉的方式來實現一致性,在raft中,任何乙個節點都可能成為leader。

google的容器集群管理系統kubernetes、開源paas平台cloud foundry和coreos的fleet都廣泛使用了etcd。

概念

raft:etcd 所採用的保證分布式系統強一致性的演算法。

node:乙個 raft 狀態機例項。

member: 乙個 etcd 例項。它管理著乙個 node,並且可以為客戶端請求提供服務。

cluster:由多個 member 構成可以協同工作的 etcd 集群。

peer:對同乙個 etcd 集群中另外乙個 member 的稱呼。

client: 向 etcd 集**送 http 請求的客戶端。

wal:預寫式日誌,etcd 用於持久化儲存的日誌格式。

snapshot:etcd 防止 wal 檔案過多而設定的快照,儲存 etcd 資料狀態。

proxy:etcd 的一種模式,為 etcd 集群提供反向**服務。

leader:raft 演算法中通過競選而產生的處理所有資料提交的節點。

follower:競選失敗的節點作為 raft 中的從屬節點,為演算法提供強一致性保證。

candidate:當 follower 超過一定時間接收不到 leader 的心跳時轉變為 candidate 開始競選。

index:資料項編號。raft 中通過 term 和 index 來定位資料。

api

put:

get:

del:

etcd:用於服務發現的鍵值儲存系統

etcd v3命令和api

etcd rest api基本操作

etcd4j

etcd學習(一)安裝和.net客戶端測試

etcd學習(二)集群搭建clustering

windows系統下etcd的安裝與使用

windows下安裝etcd集群及etcd-viewer

mac安裝etcd,配置etcd視覺化頁面etcd browser

etcd3集群部署

Etcd 集群穩定性測試記錄

2017年 5月 2日 集群節點個數 3個 集群節點環境 1.每秒新增資料,每3秒檢測一次集群狀態。2.每秒新增資料,每5秒禁用一次網絡卡,等待時間15秒。重新啟動網絡卡。3.每秒新增資料,每5秒禁用一次網絡卡,等待時間15秒。重新啟動網絡卡。測試結果如下 乙個小時後的測試資料 節點1,2,3均正常...

閒談etcd(三)etcd的使用

type client structimport fmt go.etcd.io etcd clientv3 time 連線 func main dialtimeout 5 time.second,建立連線 if client,err clientv3.new config err nil fmt.p...

ETCD 原始碼學習 lease 二

在 etcd 原始碼學習過程,不會講解太多的原始碼知識,只講解相關的實現機制,需要關注原始碼細節的朋友可以自行根據文章中的提示,找到相關原始碼進行學習。本文主要介紹 lessor 如果發現過期鍵,server 如何處理過期鍵的過程。lessor goroutine func le lessor ru...