SpringCloud整合Consul的實(shí)現(xiàn)
下載安裝Consul
訪問(wèn)Consul 官網(wǎng) 下載 Consul 的最新版本,我這里是 consul_1.9.1。
這里以 Windows 為例,下載下來(lái)是一個(gè) consul_1.9.1_windows_amd64.zip 的壓縮包,解壓是是一個(gè) consul.exe 的執(zhí)行文件。

啟動(dòng)Consul
cd 到對(duì)應(yīng)的目錄下,使用 cmd 啟動(dòng) Consul
cd E:\迅雷下載\consul_1.9.1_windows_amd64 #cmd啟動(dòng): consul agent -dev # -dev表示開(kāi)發(fā)模式運(yùn)行,另外還有-server表示服務(wù)模式運(yùn)行
為了方便期間,可以在同級(jí)目錄下創(chuàng)建一個(gè) run.bat 腳本來(lái)啟動(dòng),腳本內(nèi)容如下:
consul agent -dev pause

啟動(dòng) run.bat 腳本成功之后訪問(wèn): http://localhost:8500 ,可以看到 Consul 的管理界面

springcloud整合Consul
由于比較簡(jiǎn)單在這里我們就不再新建項(xiàng)目了,我們基于之前的項(xiàng)目 SpringCloud整合Zookeeper 來(lái)做修改。
修改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> <!--注意:這里必須添加,否則各種依賴有問(wèn)題--> <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 我們調(diào)整一下yml 配置即可:
application.yml 文件:
spring: profiles: active: consul
application-zk.yml 文件:
##服務(wù)器端口號(hào) server: port: 7001 ##dubbo 注冊(cè)到注冊(cè)中心的名稱 spring: application: name: zk-member cloud: zookeeper: connect-string: 39.102.56.91:2181
application-consul.yml 文件:
##服務(wù)端口號(hào)
server:
port: 8501
spring:
application:
##服務(wù)別名--服務(wù)注冊(cè)到consul名稱
name: consul-member
##注冊(cè)中心consul地址
cloud:
consul:
host: localhost
port: 8500
discovery:
## consul ip地址
hostname: 192.168.3.91
啟動(dòng)項(xiàng)目
啟動(dòng) AppMember.java
啟動(dòng)類的注解都為 @EnableDiscoveryClient 。

訪問(wèn) http://localhost:8500/ui/dc1/services

可以看到 member 服務(wù)注冊(cè)到 sonsul 上來(lái)。
到此這篇關(guān)于SpringCloud整合Consul的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)SpringCloud整合Consul內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- SpringCloud2020整合Nacos-Bootstrap配置不生效的解決
- SpringCloud整合Nacos實(shí)現(xiàn)流程詳解
- es(elasticsearch)整合SpringCloud(SpringBoot)搭建教程詳解
- 淺析springcloud 整合 zipkin-server 內(nèi)存日志監(jiān)控
- SpringCloud整合分布式服務(wù)跟蹤zipkin的實(shí)現(xiàn)
- SpringBoot2.0整合SpringCloud Finchley @hystrixcommand注解找不到解決方案
- 基于SpringCloud手寫(xiě)一個(gè)簡(jiǎn)易版Sentinel
- SpringCloud微服務(wù)之Config知識(shí)總結(jié)
- SpringCloud服務(wù)注冊(cè)和發(fā)現(xiàn)組件Eureka
- SpringCloud實(shí)現(xiàn)Eureka服務(wù)注冊(cè)與發(fā)現(xiàn)
- spring cloud整合ribbon問(wèn)題及解決方案
相關(guān)文章
Java多線程使用阻塞隊(duì)列實(shí)現(xiàn)生產(chǎn)者消費(fèi)者模型詳解
這篇文章主要介紹了Java多線程使用阻塞隊(duì)列實(shí)現(xiàn)生產(chǎn)者消費(fèi)者模型詳解,主要講解阻塞隊(duì)列的特性、實(shí)際開(kāi)發(fā)中常用的到的生產(chǎn)者消費(fèi)者模型,以及生產(chǎn)者消費(fèi)者模型解耦合、削峰填谷的好處,需要的朋友可以參考下2023-07-07
Win10?IDEA如何連接虛擬機(jī)中的Hadoop(HDFS)
在虛擬機(jī)上配置Hadoop并修改core-site.xml文件,設(shè)置IP為局域網(wǎng)地址,IDEA中創(chuàng)建Maven項(xiàng)目,添加依賴,并檢查Hadoop重啟和端口轉(zhuǎn)發(fā),提供test.bat文件,通過(guò)修改IP簡(jiǎn)化使用過(guò)程2024-11-11
Java實(shí)現(xiàn)跳轉(zhuǎn)到指定頁(yè)面的方法小結(jié)
在Java中,實(shí)現(xiàn)頁(yè)面跳轉(zhuǎn)主要涉及到Web開(kāi)發(fā),而這通常通過(guò)使用Java的Web框架(如Servlet、Spring MVC)來(lái)完成,下面講解一下如何在不同的Java Web框架中實(shí)現(xiàn)頁(yè)面跳轉(zhuǎn),文中有詳細(xì)的代碼示例供大家參考,需要的朋友可以參考下2024-05-05
詳解SpringBoot開(kāi)發(fā)案例之整合定時(shí)任務(wù)(Scheduled)
本篇文章主要介紹了詳解SpringBoot開(kāi)發(fā)案例之整合定時(shí)任務(wù)(Scheduled),具有一定的參考價(jià)值,有興趣的可以了解一下2017-07-07
Java運(yùn)行時(shí)環(huán)境之ClassLoader類加載機(jī)制詳解
這篇文章主要給大家介紹了關(guān)于Java運(yùn)行時(shí)環(huán)境之ClassLoader類加載機(jī)制的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-01-01
Mybatis plus 配置多數(shù)據(jù)源的實(shí)現(xiàn)示例
這篇文章主要介紹了Mybatis plus 配置多數(shù)據(jù)源的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08

