SpringCloud整合Consul的實現
下載安裝Consul
訪問Consul 官網 下載 Consul 的最新版本,我這裡是 consul_1.9.1。
這裡以 Windows 為例,下載下來是一個 consul_1.9.1_windows_amd64.zip 的壓縮包,解壓是是一個 consul.exe 的執行文件。
啟動Consul
cd 到對應的目錄下,使用 cmd 啟動 Consul
cd E:\迅雷下載\consul_1.9.1_windows_amd64 #cmd啟動: consul agent -dev # -dev表示開發模式運行,另外還有-server表示服務模式運行
為瞭方便期間,可以在同級目錄下創建一個 run.bat
腳本來啟動,腳本內容如下:
consul agent -dev pause
啟動 run.bat
腳本成功之後訪問: http://localhost:8500
,可以看到 Consul 的管理界面
springcloud整合Consul
由於比較簡單在這裡我們就不再新建項目瞭,我們基於之前的項目 SpringCloud整合Zookeeper 來做修改。
修改pom依賴
我們隻需要把原先的 zookeeper
依賴替換為 consul
依賴即可
<!--springcloud 整合zookeeper客戶端--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-zookeeper-discovery</artifactId> </dependency>
<!--springcloud 整合consul--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-consul-discovery</artifactId> </dependency>
替換後如下:
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <parent> <artifactId>springcloud-zookeeper</artifactId> <groupId>com.baba.wlb</groupId> <version>1.0-SNAPSHOT</version> </parent> <modelVersion>4.0.0</modelVersion> <artifactId>springcloud-zookeeper-member</artifactId> <dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>Finchley.M7</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> <dependencies> <!--springboot 整合web組件--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!--springcloud 整合zookeeper客戶端--> <!-- <dependency>--> <!-- <groupId>org.springframework.cloud</groupId>--> <!-- <artifactId>spring-cloud-starter-zookeeper-discovery</artifactId>--> <!-- </dependency>--> <!--springcloud 整合consul--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-consul-discovery</artifactId> </dependency> </dependencies> <!--註意:這裡必須添加,否則各種依賴有問題--> <repositories> <repository> <id>spring-milestones</id> <name>Spring Milestones</name> <url>https://repo.spring.io/libs-milestone</url> <snapshots> <enabled>false</enabled> </snapshots> </repository> </repositories></project>
修改yml配置文件
為瞭方便切換 zookeeper
和 consul
我們調整一下yml 配置即可:
application.yml
文件:
spring: profiles: active: consul
application-zk.yml
文件:
##服務器端口號 server: port: 7001 ##dubbo 註冊到註冊中心的名稱 spring: application: name: zk-member cloud: zookeeper: connect-string: 39.102.56.91:2181
application-consul.yml
文件:
##服務端口號 server: port: 8501 spring: application: ##服務別名--服務註冊到consul名稱 name: consul-member ##註冊中心consul地址 cloud: consul: host: localhost port: 8500 discovery: ## consul ip地址 hostname: 192.168.3.91
啟動項目
啟動 AppMember.java
啟動類的註解都為 @EnableDiscoveryClient
。
訪問 http://localhost:8500/ui/dc1/services
可以看到 member
服務註冊到 sonsul
上來。
到此這篇關於SpringCloud整合Consul的實現的文章就介紹到這瞭,更多相關SpringCloud整合Consul內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- springcloud gateway無法路由問題的解決
- SpringCloud服務註冊和發現組件Eureka
- IDEA使用SpringAssistant插件創建SpringCloud項目
- SpringCloud如何搭建一個多模塊項目
- spring cloud config和bus組件實現自動刷新功能