Spring Cloud 的Eureka服務註冊與發現
阿新 • • 發佈:2019-02-10
Eureka
雲端服務發現,一個基於 REST 的服務,用於定位服務,以實現雲端中間層服務發現和故障轉移。引用[Spring Cloud中文網]
在Spring Cloud中使用Eureka來進行服務註冊與發現,通過Eureka管理各個微服務(感覺類似Zookeeper),這裡簡單的描述一下如果夠贊Eureka的服務註冊與發現。
1 構建註冊服務
1.1 pom引用
首先構建一個普通的Spring Boot應用,在pom檔案中新增一些必須的引用。
<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-eureka</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-eureka-server</artifactId> </dependency> </dependencies>
感覺這裡真正有用的應該是spring-cloud-starter-eureka-server.
1.2 配置
在專案的application.properties中新增基本的配置資訊。
server.port=8081
spring.application.name=eureka
eureka.client.serviceUrl.defaultZone=http://localhost:${server.port}/eureka/
eureka.instance.prefer-ip-address=true
這裡server.port表示埠,spring.application.name為應用名稱,defaultZone為Eureka的註冊地址。預設Eureka在啟動後,預設會向自己進行註冊,可以通過設定“eureka.client.registerWithEureka=false”來禁止該行為(不過禁止後,有其他奇怪的情況發生)。
1.3 啟動Eureka Server服務
啟動Eureka Server服務非常簡單,只要使用@EnableEurekaServer註解,就可以在一個普通的Spring Boot專案上開啟Eureka Server服務。
@SpringBootApplication
@EnableEurekaServer
public class DiscoverApp {
public static void main(String[] args){
SpringApplication.run(DiscoverApp.class, args);
}
}
在這些都完成後,可以啟動該Spring Boot應用,訪問本地 http://localhost:8081/,就會看到如下介面:
可以看到這裡會有一個註冊服務,即Eureka自己。
2 註冊服務
實現一個Eureka服務的Client端,同樣簡單。
2.1 pom引用
2.2 配置
2.3 啟動Eureka Client服務
3 遇到的問題
4 參考