服務發現 zookeeper ,consul ,etcd 的一些比較

服務發現

目標是減小或消除組件之間的「手動」的鏈接。當你把你的應用程序推送進生產的時候,全部的這些事情均可以配置:數據庫服務器的主機和端口,REST 服務的 URL 等等,在一個高可擴展的架構中,這些鏈接能夠動態改變。一個新的後端能夠被添加,一個數據庫節點能夠被中止。你的應用須要適應這種動態環境。算法

這裏有一些工具能夠管理這些需求(Apache Zookeeper, etcd, ...)。這些工具的廣泛原則是:當啓動的時候,一個服務的實例必須註冊進配置服務器。當中止的時候(完美中止或是 Crash 了),節點必須從配置服務中移除掉。註冊後,其餘服務能夠在配置服務器中搜索到提供製度服務的實例列表(主機和端口)。數據庫

 

  歷史 使用者 開發語言 存儲 一致性 訪問 安全 性能 功能 界面 優勢  缺點
zookeeper 悠久,來源於 hadoop 項目 YouTube、eBay、雅虎(還有大量使用hadoop 的) Java 類文件系統 Paxos 沒有http 客服端,可是有多種緣由客服端 能夠有ACL   本身開發或第三方 的主要優點是其成熟、健壯以及豐富的特性 重,無用特性過多,形成資源的浪費
consul 是HashiCorp公司推出的開源工具   go 鍵值存儲系統 使用 Raft 算法來保證一致性 支持 http 和 dns 協議接口 http 訪問 咩有ssl ,可是還有ACL 集成服務註冊與發現框架 情,功能目標準確,支持多數據中心  
etcd 短,CoreOS開發 Google的容器集羣管理系統Kubernetes、開源PaaS平臺Cloud Foundry和CoreOS的Fleet都普遍使用了etcd。 go 鍵值存儲系統 使用Raft保證一致性 curl可訪問的用戶的API(HTTP+JSON) 可選的SSL客戶端證書認證 快速: 單實例每秒 1000 次寫操做 本身開發或第三方
相關文章
相關標籤/搜索