> ### `etcd`
* `ETCD`是用于共享配置和服務發現的分布式,一致性的`KV`存儲系統。
* `ETCD`集群是一個分布式系統,由多個節點相互通信構成整體對外服務,每個節點都存儲了完整的數據,并且通過Raft協議保證每個節點維護的數據是一致的。
<br/>
> ### `Raft協議`
* 選主,一組服務節點構成一個集群,并且有一個主節點來對外提供服務。當集群初始化,或者主節點掛掉后,面臨一個選主問題。集群中每個節點,任意時刻處于`Leader`, `Follower`, `Candidate`這三個角色之一。當`Follower`在一定時間內沒有收到來自主節點的心跳,會將自己角色改變為`Candidate`,并發起一次選主投票;當收到包括自己在內超過半數節點贊成后,選舉成功,否則進行下一輪選舉。
* 日志復制,主節點將每次操作形成日志條目,并持久化到本地磁盤,然后通過網絡IO發送給其他節點。
* 安全性
<br/>
> ### `ETCD`接口
* `ETCD`提供`HTTP`協議,在最新版本中支持Google gRPC方式訪問。具體支持接口情況如下:
* ETCD是一個高可靠的KV存儲系統,支持PUT/GET/DELETE接口;
* 為了支持服務注冊與發現,支持WATCH接口(通過http long poll實現);
* 支持KEY持有TTL屬性;
* CAS(compare and swap)操作;
* 支持多key的事務操作;
* 支持目錄操作
<br/>
<br/>
***
參考:
[ETCD系列之一:簡介](https://yq.aliyun.com/articles/11035)
- asD
- Java
- Java基礎
- Java編譯器
- 反射
- collection
- IO
- JDK
- HashMap
- ConcurrentHashMap
- LinkedHashMap
- TreeMap
- 阻塞隊列
- java語法
- String.format()
- JVM
- JVM內存、對象、類
- JVM GC
- JVM監控
- 多線程
- 基礎概念
- volatile
- synchronized
- wait_notify
- join
- lock
- ThreadLocal
- AQS
- 線程池
- Spring
- IOC
- 特性介紹
- getBean()
- creatBean()
- createBeanInstance()
- populateBean()
- AOP
- 基本概念
- Spring處理請求的過程
- 注解
- 微服務
- 服務注冊與發現
- etcd
- zk
- 大數據
- Java_spark
- 基礎知識
- Thrift
- hdfs
- 計算機網絡
- OSI七層模型
- HTTP
- SSL
- 數據庫
- Redis
- mysql
- mybatis
- sql
- 容器
- docker
- k8s
- nginx
- tomcat
- 數據結構/算法
- 排序算法
- 快排
- 插入排序
- 歸并排序
- 堆排序
- 計算時間復雜度
- leetcode
- LRU緩存
- B/B+ 樹
- 跳躍表
- 設計模式
- 單例模式
- 裝飾者模式
- 工廠模式
- 運維
- git
- 前端
- thymeleaf
- 其他
- 代碼規范
- work_project
- Interview