回覆列表
  • 1 # 開發愛好者

    etcd是一個高可用的鍵值儲存系統,主要用於共享配置和服務發現。etcd是由CoreOS開發並維護的,靈感來自於 ZooKeeper 和 Doozer,它使用Go語言編寫,並透過Raft一致性演算法處理日誌複製以保證強一致性。Raft是一個來自Stanford的新的一致性演算法,適用於分散式系統的日誌複製,Raft透過選舉的方式來實現一致性,在Raft中,任何一個節點都可能成為Leader。Google的容器叢集管理系統Kubernetes、開源PaaS平臺Cloud Foundry和CoreOS的Fleet都廣泛使用了etcd。

    etcd 叢集的工作原理基於 raft 共識演算法 (The Raft Consensus Algorithm)。etcd 在 0.5.0 版本中重新實現了 raft 演算法,而非像之前那樣依賴於第三方庫 go-raft 。raft 共識演算法的優點在於可以在高效的解決分散式系統中各個節點日誌內容一致性問題的同時,也使得叢集具備一定的容錯能力。即使叢集中出現部分節點故障、網路故障等問題,仍可保證其餘大多數節點正確的步進。甚至當更多的節點(一般來說超過叢集節點總數的一半)出現故障而導致叢集不可用時,依然可以保證節點中的資料不會出現錯誤的結果。

  • 中秋節和大豐收的關聯?
  • 工商年報公示怎麼修改?