跟大家介紹一下關於Spring Cloud Consul

醜人發表於2017-11-13

Spring Cloud Consul專案是針對Consul的服務治理實現。Consul是一個分散式高可用的系統,它包含多個元件,但是作為一個整體,在微服務架構中為我們的基礎設施提供服務發現和服務配置的工具。它包含了下面幾個特性:
服務發現
健康檢查
Key/Value儲存
多資料中心
由於Spring Cloud Consul專案的實現,我們可以輕鬆的將基於Spring Boot的微服務應用註冊到Consul上,並通過此實現微服務架構中的服務治理。
以之前實現的基於Eureka的示例(eureka-client)為基礎,我們如何將之前實現的服務提供者註冊到Consul上呢?方法非常簡單,我們只需要在pom.xml中將eureka的依賴修改為如下依賴:
接下來再修改一下application.properites,將consul需要的配置資訊加入即可,比如:(下面配置是預設值)
到此為止,我們將eureka-client轉換為基於consul服務治理的服務提供者就完成了。前文我們已經有提到過服務發現的介面DiscoveryClient是Spring Cloud對服務治理做的一層抽象,所以可以遮蔽Eureka和Consul服務治理的實現細節,我們的程式不需要做任何改變,只需要引入不同的服務治理依賴,並配置相關的配置屬性就能輕鬆的將微服務納入Spring Cloud的各個服務治理框架中。
下面可以嘗試讓consul的服務提供者執行起來。這裡可能讀者會問,不需要建立類似eureka-server的服務端嗎?由於Consul自身提供了服務端,所以我們不需要像之前實現Eureka的時候建立服務註冊中心,直接通過下載consul的服務端程式就可以使用。
我們可以用下面的命令啟動consul的開發模式:[table=100%,#ffffff,,1,middle][/table]consul服務端啟動完成之後,我們再將之前改造後的consul服務提供者啟動起來。consul與eureka一樣,都提供了簡單的ui介面來檢視服務的註冊情況:

從現在開始,我這邊會將近期研發的springcloud微服務雲架構的搭建過程和精髓記錄下來,幫助更多有興趣研發spring cloud框架的朋友,希望可以幫助更多的好學者。大家來一起探討spring cloud架構的搭建過程及如何運用於企業專案。
原始碼來源:minglisoft.cn/honghu/tech…

相關文章