http://www.infoq.com/cn/articles/etcd-interpretation-application-scenario-implement-principle
隨著CoreOS和Kubernetes等項目在開源社區日益火熱,它們項目中都用到的etcd組件作為一個高可用強一致性的服務發現存儲倉庫,漸漸為開發人員所關注。在云計算時代,如何讓服務快速透明地接入到計算集群中,如何讓共享配置信息快速被集群中的所有機器發現,更為重要的是,如何構建這樣一套高可用、安全、易于部署以及響應快速的服務集群,已經成為了迫切需要解決的問題。etcd為解決這類問題帶來了福音,本文將從etcd的應用場景開始,深入解讀etcd的實現方式,以供開發者們更為充分地享用etcd所帶來的便利。
##經典應用場景
要問etcd是什么?很多人第一反應可能是一個鍵值存儲倉庫,卻沒有重視官方定義的后半句,用于配置共享和服務發現。
> A highly-available key value store for shared configuration and service discovery.
實際上,etcd作為一個受到ZooKeeper與doozer啟發而催生的項目,除了擁有與之類似的功能外,更專注于以下四點。
* 簡單:基于HTTP+JSON的API讓你用curl就可以輕松使用。
* 安全:可選SSL客戶認證機制。
* 快速:每個實例每秒支持一千次寫操作。
* 可信:使用Raft算法充分實現了分布式。
隨著云計算的不斷發展,分布式系統中涉及到的問題越來越受到人們重視。受阿里中間件團隊對[ZooKeeper典型應用場景一覽](http://jm-blog.aliapp.com/?p=1232)一文的啟發,筆者根據自己的理解也總結了一些etcd的經典使用場景。讓我們來看看etcd這個基于Raft強一致性算法的分布式存儲倉庫能給我們帶來哪些幫助。
值得注意的是,分布式系統中的數據分為控制數據和應用數據。**使用etcd的場景默認處理的數據都是控制數據,對于應用數據,只推薦數據量很小,但是更新訪問頻繁的情況。**
## 聲明
* 字母哥博客,并不是本文的作者.原作者是孫健波
* 每當我看到一篇好的文章的時候,都希望將它介紹給大家.**轉載的目的是分享,而不是抄襲**!此文最初的發表地址為:[etcd:從應用場景到實現原理的全方位解讀](http://www.infoq.com/cn/articles/etcd-interpretation-application-scenario-implement-principle)
* 原作者孫健波是**浙江大學SEL實驗室**碩士研究生,我想請大家記住這個實驗室.《docker源碼分析》的作者孫宏亮也是畢業于浙江大學的這個實驗室.他們的文章深入解析了Docker及其周邊生態系統的原理.
* 不要錯過大神,訪問地址:[浙江大學SEL實驗室](http://www.sel.zju.edu.cn/)
- 版權
- 博客主題
- 如何不去做運行3.5G-docker鏡像的工程師
- 預備主題
- FastDFS快速入門
- mysql定時創建月表
- SpringMVC-Restful
- Docker生態系統
- The Docker Ecosystem: An Introduction to Common Components
- docker監控指標
- 基于etcd服務發現的overlay跨多宿主機容器網絡
- etcd:從應用場景到實現原理的全方位解讀
- docker存儲驅動詳解
- 使用docker/engine-api操作docker
- 提升Docker安全性
- docker安全之用戶資源隔離
- marathon
- 開始
- 安裝mararhon
- 高可用模式
- 使用marathon
- 應用的部署
- 架構組件
- Dubbo與Zookeeper、SpringMVC整合和使用(負載均衡、容錯)
- Openstack架構解析
- haproxy
- Ubuntu系統安裝截圖
- mesos官方文檔
- 關于譯者
- mesos基礎
- Mesos架構
- 視頻與ppt
- 讓mesos跑起來
- 快速入門
- 配置
- Containerizer
- Docker Containerizer
- 監控
- 博客文章集
- 煮餃子與mesos之間妙不可言的關系
- linux運維
- 基礎篇
- 進階篇
- mysql
- Ubuntu14.04安裝mysql5.6
- MySQL 5.6 replicate原理與實踐
- mysql性能
- redis
- redis安裝及基礎知識
- redis數據結構
- redis命令
- redis數據持久化
- Redis主從復制
- redis集群
- 其他