consul


1.概述

consul是google開源的一個使用go語言開發的服務發現、配置管理中心服務。內置了服務注冊與發現框 架、分布一致性協議實現、健康檢查、Key/Value存儲、多數據中心方案,不再需要依賴其他工具(比如ZooKeeper等)。服務部署簡單,只有一個可運行的二進制的包。每個節點都需要運行agent,他有兩種運行模式server和client。每個數據中心官方建議需要3或5個server節點以保證數據安全,同時保證server-leader的選舉能夠正確的進行。

特性:

  • 服務發現
  • 健康檢查
  • key/value
  • 多數據中心

首先我們根據一張圖來了解一下 Consul 服務調用過程:
image

Consul具有哪些特點?

  • 服務發現(Service Discovery):Consul提供了通過DNS或者HTTP接口的方式來注冊服務和發現服務。一些外部的服務通過Consul很容易的找到它所依賴的服務。

  • 健康檢查(Health Checking):Consul的Client可以提供任意數量的健康檢查,既可以與給定的服務相關聯(“webserver是否返回200 OK”),也可以與本地節點相關聯(“內存利用率是否低於90%”)。操作員可以使用這些信息來監視集群的健康狀況,服務發現組件可以使用這些信息將流量從不健康的主機路由出去。

  • Key/Value存儲:應用程序可以根據自己的需要使用Consul提供的Key/Value存儲。 Consul提供了簡單易用的HTTP接口,結合其他工具可以實現動態配置、功能標記、領袖選舉等等功能。

  • 安全服務通信:Consul可以為服務生成和分發TLS證書,以建立相互的TLS連接。意圖可用於定義允許哪些服務通信。服務分割可以很容易地進行管理,其目的是可以實時更改的,而不是使用復雜的網絡拓撲和靜態防火牆規則。

  • 多數據中心:Consul支持開箱即用的多數據中心. 這意味着用戶不需要擔心需要建立額外的抽象層讓業務擴展到多個區域。

Consul 架構圖

image

image

raft協議的演示地址:http://thesecretlivesofdata.com/raft/

集群搭建

image

image

image

image

image

image


免責聲明!

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



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