Consul(一)[概述]

在這裏插入圖片描述
consul官網:

https://www.consul.io/

consul的github地址:

https://github.com/hashicorp/consul

consul教程學習地址:

https://learn.hashicorp.com/consul

1.簡介

Consul是HashiCorp公司推出的開源工具,用於服務發現和配置的工具。Consul是分佈式的,高度可用的,並且具有極高的可伸縮性。

Consul提供了幾個關鍵功能:
服務發現 -Consul使服務易於註冊自己並通過DNS或HTTP接口發現其他服務。諸如SaaS提供程序之類的外部服務也可以註冊。

健康檢查 -健康檢查【運行狀況檢查】使Consul可以快速提醒操作員有關羣集中的任何問題。與服務發現的集成可防止將流量路由到不正常的主機,並啓用服務級別的斷路器。
服務細分/服務網格 -Consul Connect通過自動TLS加密和基於身份的授權實現安全的服務到服務通信。應用程序可以在服務網格配置中使用sidecar代理來爲入站和出站連接建立TLS連接,而根本不知道Connect。
鍵/值存儲 -靈活的鍵/值存儲可存儲動態配置,功能標記,協調,領導者選舉等。簡單的HTTP API使其易於在任何地方使用。
多數據中心 -Consul旨在支持數據中心,並且無需複雜的配置即可支持任意數量的區域。
Consul用Golang實現,可以在Linux,Mac OS X,FreeBSD,Solaris和Windows上運行。Consul,因此具有天然可移植性 (支持 Linux、windows和macOS)。

2.Consul 的角色

client: 客戶端, 無狀態, 將 HTTP 和 DNS 接口請求轉發給局域網內的服務端集羣.
server: 服務端, 保存配置信息, 高可用集羣, 在局域網內與本地客戶端通訊, 通過廣域網與其他數據中心通訊. 每個數據中心的 server 數量推薦爲 3 個或是 5 個.

3.運行 Consul代理

  • Consul是典型的 C/S架構,可以運行服務模式或客戶模式。每一個數據中心必須有至少一個服務節點, 3到5個服務節點最好。非常不建議只運行一個服務節點,因爲在節點失效的情況下數據有極大的丟失風險。
    運行Agent
  • agent可以運行爲server或client模式.每個數據中心至少必須擁有一臺server . 建議在一個集羣中有3或者5個server.部署單一的server,在出現失敗時會不可避免的造成數據丟失.
  • ​其他的agent運行爲client模式.一個client是一個非常輕量級的進程.用於註冊服務,運行健康檢查和轉發對server的查詢.agent必須在集羣中的每個主機上運行.
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章