Etcd(1)簡介

1.3 Etcd的使用場景

和ZK類似,Etcd有很多使用場景,包括:

配置管理

服務(wù)注冊于發(fā)現(xiàn)

選主

應(yīng)用調(diào)度

分布式隊(duì)列

分布式鎖

1.4 Etcd讀寫性能

按照官網(wǎng)給出的數(shù)據(jù), 在2CPU,1.8G內(nèi)存,SSD磁盤這樣的配置下,單節(jié)點(diǎn)的寫性能可以達(dá)到16K QPS, 而先寫后讀也能達(dá)到12K QPS。這個(gè)性能還是相當(dāng)可觀的。

1.5 Etcd工作原理

Etcd使用Raft協(xié)議來維護(hù)集群內(nèi)各個(gè)節(jié)點(diǎn)狀態(tài)的一致性。簡單說,Etcd集群是一個(gè)分布式系統(tǒng),由多個(gè)節(jié)點(diǎn)相互通信構(gòu)成整體對外服務(wù),每個(gè)節(jié)點(diǎn)都存儲(chǔ)了完整的數(shù)據(jù),并且通過Raft協(xié)議保證每個(gè)節(jié)點(diǎn)維護(hù)的數(shù)據(jù)是一致的。

每個(gè)Etcd節(jié)點(diǎn)都維護(hù)了一個(gè)狀態(tài)機(jī),并且,任意時(shí)刻至多存在一個(gè)有效的主節(jié)點(diǎn)。主節(jié)點(diǎn)處理所有來自客戶端寫操作,通過Raft協(xié)議保證寫操作對狀態(tài)機(jī)的改動(dòng)會(huì)可靠的同步到其他節(jié)點(diǎn)。

1.6 Etcd概念詞匯表

Raft:Etcd所采用的保證分布式系統(tǒng)強(qiáng)一致性的算法。

Node:一個(gè)Raft狀態(tài)機(jī)實(shí)例。

Member: 一個(gè)Etcd實(shí)例。它管理著一個(gè)Node,并且可以為客戶端請求提供服務(wù)。

Cluster:由多個(gè)Member構(gòu)成可以協(xié)同工作的Etcd集群。

Peer:對同一個(gè)Etcd集群中另外一個(gè)Member的稱呼。

Client: 向Etcd集群發(fā)送HTTP請求的客戶端。

WAL:預(yù)寫式日志,Etcd用于持久化存儲(chǔ)的日志格式。

snapshot:Etcd防止WAL文件過多而設(shè)置的快照,存儲(chǔ)Etcd數(shù)據(jù)狀態(tài)。

Proxy:Etcd的一種模式,為Etcd集群提供反向代理服務(wù)。

Leader:Raft算法中通過競選而產(chǎn)生的處理所有數(shù)據(jù)提交的節(jié)點(diǎn)。

Follower:競選失敗的節(jié)點(diǎn)作為Raft中的從屬節(jié)點(diǎn),為算法提供強(qiáng)一致性保證。

Candidate:當(dāng)Follower超過一定時(shí)間接收不到Leader的心跳時(shí)轉(zhuǎn)變?yōu)镃andidate開始競選。

Term:某個(gè)節(jié)點(diǎn)成為Leader到下一次競選時(shí)間,稱為一個(gè)Term。

Index:數(shù)據(jù)項(xiàng)編號(hào)。Raft中通過Term和Index來定位數(shù)據(jù)。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容