springcloud中使用consul作為註冊中心
springcloud 中使用consul作為註冊中心 一、服務提供方配置 1、pom.xml 中引入 <!--consul 起步依賴 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-consul-discovery</artifactId> </dependency> 2、application.yml 配置 spring: cloud: consul: host: 192.168.9.130 port: 8500 # discovery: # healthCheckPath: /health # healthCheckInterval: 15s # serviceName: ${spring.application.name} 3、springboot啟動類上標記 @EnableDiscoveryClient 註解 二、 服務消費方配置 1、 pom.xml <!--consul 起步依賴 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-consul-discovery</artifactId> </dependency> 2、application.yml配置 spring: cloud: consul: host: 192.168.9.130 port: 8500 discovery: register: false #表示不進行服務註冊 3、springboot啟動類上標記 @EnableDiscoveryClient註解 ok,接下來就可以在服務消費方呼叫服務提供方提供的介面了,具體實現方式可以採用resTemplate+ribbon或者feign均可。 需要注意的是,如果consul伺服器不是本機(localhost),則需要讓consul伺服器能夠解析本機的主機名。 為簡便起見,可以修改consul所在伺服器的host檔案,新增本地主機名和ip的對映即可。 啟動consul命令: consul agent -dev -client 0.0.0.0 -ui consul HTTP REST API為8500埠 consul DNS API 為8600埠 UI介面 http://ip:8500/ui