Eureka 是 Netflix 出品的用于实现处事注册和发明的东西。 Spring Cloud 集成了 Eureka,并提供了开箱即用的支持。个中, Eureka 又可细分为 Eureka Server 和 Eureka Client。
本例子将演示如何通过 Spring Cloud Eureka 来快速实现处事的注册和发明。
开拓情况
从 Spring Initializr 举办项目标初始化
会见http://start.spring.io/ 举办项目标初始化。我们将该项目定名为micro-weather-eureka-server。
变动设置
按照下面两个博客的指引来设置,加快项目标构建。
启用 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/
个中:
启动 Eureka Server
启动应用,会见http://localhost:8761/,可以看到 Eureka Server 自带的 UI 打点界面。
建设 Eureka Client
我们在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 上看到这两个实体的信息。
源码
本章节源码,软件开发,见https://github.com/waylau/spring-cloud-tutorial samples 目次下的micro-weather-eureka-server 和 micro-weather-eureka-client 。
,软件开发