首页 > IT职业 > IT职场 > 使用 Eureka 实现服务注册与发现
Eureka 是 Netflix 出品的用于实现服务注册和发现的工具。 Spring Cloud 集成了 Eureka,并提供了开箱即用的支持。其中, Eureka 又可细分为 Eureka Server 和 Eureka Client。
本例子将演示如何通过 Spring Cloud Eureka 来快速实现服务的注册和发现。
开发环境访问http://start.spring.io/ 进行项目的初始化。我们将该项目命名为micro-weather-eureka-server。

根据下面两个博客的指引来配置,加速项目的构建。
为启用 Eureka Server ,在 Application 上增加@EnableEurekaServer注解即可。
@SpringBootApplication
@EnableEurekaServer
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
} 修改项目配置 修改 application.properties,增加如下配置。
server.port: 8761
eureka.instance.hostname: localhost
eureka.client.registerWithEureka: false
eureka.client.fetchRegistry: false
eureka.client.serviceUrl.defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/ 其中:
false意味着自身仅作为服务器,不作为客户端 false意味着无需注册自身启动应用,访问http://localhost:8761/,可以看到 Eureka Server 自带的 UI 管理界面。

我们在micro-weather-eureka-server基础上,将创建一个micro-weather-eureka-client 作为客户端,并演示如何让将自身向注册服务器进行注册,让其可以其他服务都调用。
增加如下配置:
dependencies {
//...
compile('org.springframework.cloud:spring-cloud-starter-netflix-eureka-client')
//...
} 一个最简单的 Eureka Client @SpringBootApplication
@EnableDiscoveryClient
@RestController
public class Application {
@RequestMapping("/hello")
public String home() {
return "Hello world";
}
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
} 其中@EnableDiscoveryClient启用了服务发现的功能,只要 Eureka Client 启动了,就能被 Eureka Server 所感知。
项目配置:
spring.application.name: micro-weather-eureka-client
eureka.client.serviceUrl.defaultZone: http://localhost:8761/eureka/ 运行 分别在 8081 和 8082 上启动了客户端示例。
java -jar micro-weather-eureka-client-1.0.0.jar --server.port=8081
java -jar micro-weather-eureka-client-1.0.0.jar --server.port=8082 可以在 Eureka Server 上看到这两个实体的信息。

micro-weather-eureka-server 和 micro-weather-eureka-client 。来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/4605/viewspace-2799436/ ,如需转载,请注明出处,否则将追究法律责任。