簡介
Netflix Eureka是微服務系統中最常用的服務發現組件之一,非常簡單易用,當客戶端注冊到Eureka后,客戶端可以知道彼此的hostname和埠等,這樣就可以建立連接,不需要配置,
Eureka 服務端
添加Maven依賴:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
添加注解@EnableEurekaServer到Spring Boot的啟動類中:
package com.pkslow.cloud.eureka;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;
@SpringBootApplication
@EnableEurekaServer
public class EurekaServer {
public static void main(String[] args) {
SpringApplication.run(EurekaServer.class, args);
}
}
配置埠號:
server:
port: 8761
eureka:
client:
fetch-registry: false
register-with-eureka: false
然后啟動服務,在瀏覽器中打開: http://localhost:8761/

我們就可以看到服務端的資訊了,但目前還沒客戶端注冊,
Eureka客戶端
只有注冊到Eureka服務端的服務,才能被其它服務發現,
添加依賴如下:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
添加注解@EnableEurekaClient:
package com.pkslow.cloud.rest;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
@SpringBootApplication
@EnableEurekaClient
public class RestService {
public static void main(String[] args) {
SpringApplication.run(RestService.class, args);
}
}
把服務端的地址配置好:
spring.application.name=rest-service
server.port=8081
pkslow.admin=larry|18|[email protected]
eureka.client.service-url.defaultZone: http://localhost:8761/eureka
eureka.instance.prefer-ip-address=true
management.endpoints.web.exposure.include=*
注意這個spring.application.name是很關鍵的,以它為名字注冊到Eureka,
啟動該服務,并重繪Eureka服務端的頁面:

就可以看到有服務注冊上來了,
代碼
代碼請看GitHub: https://github.com/LarryDpk/pkslow-samples
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/542057.html
標籤:其他
