consul初步學習


簡介

  1. consul是一個服務發現框架
  2. 類似的還有zookeeper,eureka,etcd等

作用

  1. 服務發現(service discovery)
  2. 健康檢查(health checking)
  3. 配置存儲管理(key/value storage)
  4. 可支持任意數量的區域:multi-datacente

consul與eureka比較

  1. 最大的區別是Eureka保證AP, Consul為CP
  2. Consul強一致性(C)帶來的是:
    服務注冊相比Eureka會稍慢一些。因為Consul的raft協議要求必須過半數的節點都寫入成功才認為注冊成功
    Leader掛掉時,重新選舉期間整個consul不可用。保證了強一致性但犧牲了可用性。
  3. Eureka保證高可用(A)和最終一致性:
    服務注冊相對要快,因為不需要等注冊信息replicate到其他節點,也不保證注冊信息是否replicate成功
    當數據出現不一致時,雖然A, B上的注冊信息不完全相同,但每個Eureka節點依然能夠正常對外提供服務,這會出現查詢服務信息時如果請求A查不到,但請求B就能查到。如此保證了可用性但犧牲了一致性。
  4. 服務的健康檢查
    Euraka 使用時需要顯式配置健康檢查支持;Zookeeper,Etcd 則在失去了和服務進程的連接情況下任務不健康,而 Consul 相對更為詳細點,比如內存是否已使用了90%,文件系統的空間是不是快不足了。
  5. 多數據中心支持
    Consul 通過 WAN 的 Gossip 協議,完成跨數據中心的同步;而且其他的產品則需要額外的開發工作來實現;
  6. KV 存儲服務
    除了 Eureka ,其他幾款都能夠對外支持 k-v 的存儲服務,所以后面會講到這幾款產品追求高一致性的重要原因。而提供存儲服務,也能夠較好的轉化為動態配置服務哦。

總結

  • 了解有限,筆者想了想連套件eureka都沒搞明白呢,而且自覺地分布式服務可靠性比一致性重要點~,雖然Eureka現在還在不斷完善中,我還是很看好他的,決定先研究它了

參考博客
https://www.cnblogs.com/xiaohanlin/p/8016803.html
https://blog.csdn.net/ZYC88888/article/details/81453647


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM