consul:註冊中心
功能:1、服務發現(service discovery)
consul的客戶端可以註冊服務,比如api,另外一些客戶端可使用consul查詢給定服務的提供者。使用dns或者http,應用程式可以輕鬆找到它們依賴的服務。
**理解:**用dns舉例
consul是儲存服務名稱與ip和埠對應關係的伺服器。
假設:我有3臺用於發帖的伺服器,他們的ip和埠分別是
127.0.0.1:8887
127.0.0.1:8888
127.0.0.1:8889
那麼這三颱伺服器就在consul中註冊,那麼consul就知道了這三颱伺服器的ip可埠了。
當我們要發帖,想呼叫發帖服務的時候,就像consul要,consul會告訴我們,哪些伺服器提供了發帖服務,
然後我們自己選擇乙個發帖伺服器就可以了。
(是不是特別簡單,這樣就不需要我們記住有那些發帖伺服器的ip位址和埠了)
2、健康檢查(health checking)
consul客戶端可以提供任何數量的執行狀況檢查,與給定服務(「 web伺服器是否返回200 ok」)或本地節點(「記憶體利用率低於90%」)相關。 操作員可以使用此資訊來監視群集的執行狀況,服務發現元件可以使用此資訊來將流量路由到執行狀況不佳的主機之外
理解:
假如有三颱發帖的伺服器都在consul進行註冊了發帖服務,假如有一台伺服器掛了怎麼辦?
consul就提供了乙個伺服器的健康檢查功能,他會每隔一段時間向這三颱伺服器傳送心跳包,
比如每隔10秒鐘就向這三颱伺服器請求一次,通過這樣來檢查這三颱伺服器是否還活著
3、kv商店(kv store)
應用程式可以將consul的分層鍵/值儲存用於多種目的,包括動態配置,功能標記,協調,領導者選舉等。 簡單的http api使其易於使用。
4、安全的服務通訊(secure service communication)
consul可以為服務生成和分發tls證書以建立相互tls連線。 意圖可用於定義允許哪些服務進行通訊。 可以使用可以實時更改的意圖輕鬆管理服務分段,而不必使用複雜的網路拓撲和靜態防火牆規則。
5、多資料中心(multi datacenter)
consul開箱即用地支援多個資料中心。 這意味著consul的使用者不必擔心會構建其他抽象層以擴充套件到多個區域。
微服務治理 Consul服務註冊與發現,健康檢查
一.為什麼有consul?在微服務架構中,每1個服務都是集群式的提供服務,訂單服務在10臺伺服器上都有,那麼使用者的請求到達,獲取哪台伺服器的訂單服務呢?如果10台中有的訂單服務掛了怎麼辦?10臺伺服器扛不住了,水平擴充套件又新增加了1臺 伺服器提供訂單服務,怎麼讓使用者請求知道有新的伺服器提供訂單...
Consul服務註冊中心 Consul工作原理
consul工作原理如下圖所示 當服務producer啟動時,會將自己的ip host等資訊通過傳送請求告知consul,consul接收到producer的註冊資訊後,每個10s 預設 會向producer傳送乙個健康檢查的請求,檢驗producer是否監控。當consumer請求producer...
consul服務註冊
這是定義服務的根級引數。您可以指定引數來配置服務。範圍描述 預設必需的 id 指定服務 id 的字串值。如果未指定,name將使用該字段的值。每個節點的服務必須具有唯一的 id,因此如果預設值name會與其他服務衝突,您應該指定唯一的值。name引數值 可選的name 指定服務的名稱。如果id未指定...