微服務 Consul(服務註冊發現)

2022-01-15 18:21:00 字數 615 閱讀 6242

類似dns伺服器會根據我們的網域名稱解析出乙個ip位址,然後去請求這個ip來獲取我們想要的資料,它可以讓我們只需說我想要什麼服務即可,而不必去關心服務提供者的具體網路位置(ip 位址、埠等)。

目前,服務發現主要分為兩種模式,客戶端模式與服務端模式

在客戶端模式下,首先要到服務註冊中心獲取服務列表,然後使用本地的負載均衡策略選擇乙個服務進行呼叫。

而在服務端模式下,客戶端直接向服務註冊中心傳送請求,服務註冊中心再通過自身負載均衡策略對微服務進行呼叫後返回給客戶端。

客戶端模式相對來說比較簡單,也比較容易實現,本文就先來介紹一下基於consul的客戶端服務發現。

在傳統單體架構中,由於應用不會頻繁的更新和發布,也不會進行自動伸縮,我們通常將所有的服務位址都直接寫在專案的配置檔案中,發生變化時,手動修改。但是在微服務模式下,服務會更細的拆分解耦,微服務會被頻繁的更新和發布、動態伸縮、動態遷移。服務發現也就成了微服務中的乙個至關重要的環節。

提供服務到ip位址的註冊;提供服務到ip位址列表的查詢;對提供服務方的健康檢查(healthcheck)

consul.exe agent -dev -- 這是開發環境測試,生產環境要建集群,至少一台server、多台agent

-- consul監控頁面

微服務治理 Consul服務註冊與發現,健康檢查

一.為什麼有consul?在微服務架構中,每1個服務都是集群式的提供服務,訂單服務在10臺伺服器上都有,那麼使用者的請求到達,獲取哪台伺服器的訂單服務呢?如果10台中有的訂單服務掛了怎麼辦?10臺伺服器扛不住了,水平擴充套件又新增加了1臺 伺服器提供訂單服務,怎麼讓使用者請求知道有新的伺服器提供訂單...

consul服務註冊與發現

是一套開源的分布式服務發現與配置管理系統,有hashicorp公司用go語言開發,提供了微服務系統中的服務治理,配置中心,控制匯流排等功能。這些功能中的每乙個都可以根據需要單獨使用,也可以一起使用,以構建全方位的服務網路,總之consul提供了一整套服務網路解決方案 org.springframew...

四 服務註冊與發現Consul

三 註冊中心的對比 consul是一套開源的分布式服務發現和配置管理系統,由hashicorp公司用go語言開發。consul提供了微服務系統中的服務治理 配置中心控制匯流排等功能。這些功能中的每乙個都可以根據需要單獨使用,也可以一 起使用以構建全方位的服務網格,總之consul提供了一種完整的服務...