Docker的etcd簡(jiǎn)介

2018-08-04 18:17 更新

什么是 etcd

etcd 是 CoreOS 團(tuán)隊(duì)于 2013 年 6 月發(fā)起的開(kāi)源項(xiàng)目,它的目標(biāo)是構(gòu)建一個(gè)高可用的分布式鍵值(key-value)數(shù)據(jù)庫(kù),基于 Go 語(yǔ)言實(shí)現(xiàn)。我們知道,在分布式系統(tǒng)中,各種服務(wù)的配置信息的管理分享,服務(wù)的發(fā)現(xiàn)是一個(gè)很基本同時(shí)也是很重要的問(wèn)題。CoreOS 項(xiàng)目就希望基于 etcd 來(lái)解決這一問(wèn)題。

etcd 目前在 github.com/coreos/etcd 進(jìn)行維護(hù),即將發(fā)布 2.0.0 版本。

受到 Apache ZooKeeper 項(xiàng)目和 doozer 項(xiàng)目的啟發(fā),etcd 在設(shè)計(jì)的時(shí)候重點(diǎn)考慮了下面四個(gè)要素:

  • 簡(jiǎn)單:支持 REST 風(fēng)格的 HTTP+JSON API
  • 安全:支持 HTTPS 方式的訪問(wèn)
  • 快速:支持并發(fā) 1k/s 的寫(xiě)操作
  • 可靠:支持分布式結(jié)構(gòu),基于 Raft 的一致性算法

注:Apache ZooKeeper 是一套知名的分布式系統(tǒng)中進(jìn)行同步和一致性管理的工具。注:doozer 則是一個(gè)一致性分布式數(shù)據(jù)庫(kù)。注:Raft 是一套通過(guò)選舉主節(jié)點(diǎn)來(lái)實(shí)現(xiàn)分布式系統(tǒng)一致性的算法,相比于大名鼎鼎的 Paxos 算法,它的過(guò)程更容易被人理解,由 Stanford 大學(xué)的 Diego Ongaro 和 John Ousterhout 提出。更多細(xì)節(jié)可以參考 raftconsensus.github.io。

一般情況下,用戶(hù)使用 etcd 可以在多個(gè)節(jié)點(diǎn)上啟動(dòng)多個(gè)實(shí)例,并添加它們?yōu)橐粋€(gè)集群。同一個(gè)集群中的 etcd 實(shí)例將會(huì)保持彼此信息的一致性。


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)