简介
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@EnableEurekaServerpublic class EurekaServer { public static void main(String[] args) { SpringApplication.run(EurekaServer.class, args); }}
配置端口号:
server: port: 8761eureka: 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@EnableEurekaClientpublic class RestService { public static void main(String[] args) { SpringApplication.run(RestService.class, args); }}
把服务端的地址配置好:
spring.application.name=rest-serviceserver.port=8081pkslow.admin=larry|18|admin@pkslow.comeureka.client.service-url.defaultZone: http://localhost:8761/eurekaeureka.instance.prefer-ip-address=truemanagement.endpoints.web.exposure.include=*
留神这个spring.application.name
是很要害的,以它为名字注册到Eureka。
启动该服务,并刷新Eureka服务端的页面:
就能够看到有服务注册上来了。
代码
代码请看GitHub: https://github.com/LarryDpk/p...