Eureka是Netflix开发的一个用于服务发现和注册的项目。Spring Cloud将它集成在其子项目Spring Cloud Netflix中,以实现微服务架构中的服务发现功能。
以下是一个使用Spring Cloud Eureka的简单示例:
- 添加依赖:
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring-cloud.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
- 配置Eureka服务器:
@EnableEurekaServer
@SpringBootApplication
public class EurekaServerApplication {
public static void main(String[] args) {
SpringApplication.run(EurekaServerApplication.class, args);
}
}
在application.properties
或application.yml
中配置Eureka服务器:
server:
port:
eureka:
instance:
hostname: localhost
client:
registerWithEureka: false
fetchRegistry: false
serviceUrl:
defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/
以上代码创建了一个Eureka服务器,它监听默认的Eureka端口8761。
对于Eureka客户端,你需要将服务注册到Eureka服务器。客户端的配置大致如下:
eureka:
client:
serviceUrl:
defaultZone: http://localhost:8761/eureka/
在客户端启动类上添加@EnableDiscoveryClient
注解:
@EnableDiscoveryClient
@SpringBootApplication
public class ClientApplication {
public static void main(String[] args) {
SpringApplication.run(ClientApplication.class, args);
}
}
启动Eureka服务器和客户端,客户端将会向Eureka服务器注册其服务。
以上代码提供了Eureka服务器和客户端的基本配置和启动方式,实际应用中可能需要根据具体需求进行更复杂的配置。