一.eureka为netflix开源软件,分为三个部分:
eureka服务:用以提供服务注册、发现,以一个war的形式提供
eureka-server: 相对client端的服务端,为客户端提供服务,通常情况下为一个集群
eureka-client:客户端,通过向eureka服务
发现注册的可用的eureka-server,向后端发送请求
二.
- @EnableEurekaClient: 该注解表明应用既作为eureka实例又为eureka client 可以发现注册的服务
- @EnableEurekaServer: 该注解表明应用为eureka服务,有可以联合多个服务作为集群,对外提供服务注册以及发现功能
三.编码实现
1.eureka-server:
pom.xml引入依赖:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
application.properties设置配置:
spring.application.name=eureka-service
server.port=1001
eureka.client.serviceUrl.defaultZone=http://localhost:1001/eureka/
eureka.client.registerWithEureka=false
eureka.client.fetchRegistry=false
---需防止服务端自己注册自己
#表示是否将自己注册到Eureka Server上,默认为true
eureka.client.registerWithEureka=false
#表示是否从Eureka Server上获取注册信息,默认为true
eureka.client.fetchRegistry=false
Application.java中:
@EnableEurekaServer
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
2.eureka-client
pom.xml引入依赖:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
application.properties设置配置:
spring.application.name=eureka-client
server.port=2001
eureka.client.serviceUrl.defaultZone=http://localhost:1001/eureka/
EurekaClientApplication.java中:
@EnableDiscoveryClient
@SpringBootApplication
public class EurekaClientApplication {
public static void main(String[] args) {
SpringApplication.run(EurekaClientApplication.class, args);
}
}
四.启动两个项目
可见页面:
查看到eureka_client已可见