etcd

etcd

Etcd


Etcd 是一個分散式、可信賴的 Key-Value 儲存系統。可用於服務發現、資源共享。

也就是 Etcd 通常是一個 Cluster,並有一個 Leader。

In K8s, Etcd do Service discovery and stores cluster state and configuration

Etcd 基于 RAFT 演算法


https://zh.wikipedia.org/wiki/Raft

https://medium.com/@kasunindrasiri/understanding-raft-distributed-consensus-242ec1d2f521

Etcd 基於 Raft 演算法,Raft 透過選舉領(Leader)的方式做共識演算法。

在 Raft Cluster 中,伺服器可能會是:

  1. Leader 領袖
  2. Follower 追隨者
  3. Candidate 候選人

正常情況下只有一個 Leader & 剩下都是 Follower。由 Leader 接收所有外部請求。

Leader 會發送 Heartbeat 讓 Follower 知道 Leader 還在運作,當 Heartbeat Timeout 時,Cluster 會進入選舉模式。

領袖選舉 Leader Election