.Net Core Configuration Etcd資料來源
阿新 • • 發佈:2020-06-18
### 前言
.Net Core為我們提供了一套強大的Configuration配置系統,使用簡單擴充套件性強。通過這套配置系統我們可以將Json、Xml、Ini等資料來源載入到程式中,也可以自己擴充套件其他形式的儲存源。今天我們要做的就是通過自定義的方式為其擴充套件Etcd資料來源操作。
### 何為Etdc
在使用etcd之前我們先介紹一下Etcd,我相信很多同學都早有耳聞。[Etcd](https://etcd.io/)是一款高可用、強一致的分散式KV儲存系統,它內部採用[raft協議](https://www.jianshu.com/p/3c6a4fd6a7cc)作為一致性演算法,本身也是基於GO語言開發的,最新版本為v3.4.9,具體版本下載地址可參閱[官方GitHub地址](https://github.com/etcd-io/etcd/releases)。相信瞭解過K8S的同學對這個肯定不陌生,它是K8S的資料管理系統。官方地址為[https://etcd.io/](https://etcd.io/)。
在此之前,我相信大家已經瞭解過很多儲存系統了,Etcd到底能實現了什麼功能呢?其一用於配置中心和服務發現,再者也可以實現分散式鎖和訊息系統。它本身就是基於目錄型儲存,並且內部有一套強大的Watch機制可以監聽針對節點和資料的操作變化,每次對節點的事務操作都會有對於的版本資訊。
#### Etcd VS Zookeeper
通過上面的介紹是不是感覺和Zookeeper有點類似呢