1. ETCD 是什么
etcd是一個(gè)Go言編寫的分布式脏答、高可用的一致性鍵值存儲系統(tǒng)尖淘,用于提供可靠的分布式鍵值存儲萍摊、配置共享和服務(wù)發(fā)現(xiàn)等功能,具有以下特點(diǎn):
簡單:
易使用:基于HTTP+JSON的API讓你用curl就可以輕松使用山害;
易部署:使用Go語言編寫纠俭,跨平臺,部署和維護(hù)簡單浪慌。
可靠:
- 強(qiáng)一致:使用Raft算法充分保證了分布式系統(tǒng)數(shù)據(jù)的強(qiáng)一致性冤荆;
- 高可用:具有容錯(cuò)能力,假設(shè)集群有n個(gè)節(jié)點(diǎn)权纤,當(dāng)有(n-1)/2節(jié)點(diǎn)發(fā)送故障钓简,依然 能提供服務(wù)乌妒;
- 持久化:數(shù)據(jù)更新后,會通過WAL格式數(shù)據(jù)持久化到磁盤外邓,支持Snapshot快照撤蚊。
快速:每個(gè)實(shí)例每秒支持一千次寫操作,極限寫性能可達(dá)10K QPS损话。
安全:可選SSL客戶認(rèn)證機(jī)制侦啸。
2. 常用功能
- 鍵值存儲、查詢功能:支持精準(zhǔn)查詢丧枪、range操作光涂、ttl機(jī)制、key版本等拧烦。
- 一致性機(jī)制:采用raft協(xié)議保證強(qiáng)一致性忘闻。
- 可用性機(jī)制:提供集群和leader選舉機(jī)制。
- SSL認(rèn)證機(jī)制恋博。
- watch機(jī)制齐佳。
3. 應(yīng)用場景
- 配置中心
- 分布式鎖
- leader 選舉組件
- 服務(wù)注冊和發(fā)現(xiàn)
- 消息訂閱和發(fā)布
4. raft 協(xié)議
解決3個(gè)核心問題
- 選舉
- 日志復(fù)制
- 安全
http://www.reibang.com/p/6d9017289cd5
https://mp.weixin.qq.com/s/BQSMuTSAYK3pmuR3BD5kvw