Eureka是Netflix开源的一个RESTful服务,主要用于服务的注册发现。Eureka由两个组件组成:Eureka服务器和Eureka客户端。Eureka服务器用作服务注册服务器。Eureka客户端是一个java客户端,用来简化与服务器的交互、作为轮询负载均衡器,并提供服务的故障切换支持。
- Eureka Server 提供用于Client的服务注册与发现
- Application Service 服务提供方 将自己注册到Server中
- Application Client 服务调用方 通过Server发现服务提供方,进行调用
Spring Cloud 中使用
Eureka Server
1.引入依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
或者使用Idea 勾选依赖
2.在启动类上添加注解@EnableEurekaServer
@SpringBootApplication
@EnableEurekaServer
public class Eurekaserver1Application {
public static void main(String[] args) {
SpringApplication.run(Eurekaserver1Application.class, args);
}
}
3.application.yml
server:
port: 8761 #服务端口 默认Eureka端口为8761
eureka:
client:
service-url:
defaultZone: http://local2:8762/eureka
server:
enable-self-preservation: false #是否开启自我保护(在开发环境关闭)
spring:
application:
name: es
Eureka Client
1.添加依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
或
2.启动类添加@EnableEurekaClient或@EnableDiscoveryClient
@SpringBootApplication
@EnableEurekaClient
public class EurekaconsumerforfeignApplication {
public static void main(String[] args) {
SpringApplication.run(EurekaconsumerforfeignApplication.class, args);
}
}
这两个注解的区别?
3.application.yml
server:
port: 8081
eureka:
client:
healthcheck:
enabled: true
service-url:
defaultZone: http://local1:8761/eureka,http://local2:8762/eureka
instance:
prefer-ip-address: true
spring:
application:
name: ep