Spring Cloud应用- Eureka原理、搭建
Eureka是Netflix开发的一个用于实现服务注册和发现的服务。Spring Cloud集成了Eureka,使得配置Eureka服务器和Eureka客户端变得非常简单。
搭建Eureka服务器
- 在Spring Boot项目中引入Eureka Server依赖。
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
- 在
application.properties
或application.yml
中配置Eureka服务器。
server:
port: 8761
eureka:
instance:
hostname: localhost
client:
registerWithEureka: false
fetchRegistry: false
serviceUrl:
defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/
- 在主类上添加
@EnableEurekaServer
注解。
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;
@EnableEurekaServer
@SpringBootApplication
public class EurekaServerApplication {
public static void main(String[] args) {
SpringApplication.run(EurekaServerApplication.class, args);
}
}
注册服务到Eureka
- 在Spring Boot项目中引入Eureka Client依赖。
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
- 在
application.properties
或application.yml
中配置Eureka客户端以连接到Eureka服务器。
eureka:
client:
serviceUrl:
defaultZone: http://localhost:8761/eureka/
instance:
preferIpAddress: true
- 确保客户端服务的Spring Boot主类使用
@EnableDiscoveryClient
注解。
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
@EnableDiscoveryClient
@SpringBootApplication
public class ServiceApplication {
public static void main(String[] args) {
SpringApplication.run(ServiceApplication.class, args);
}
}
启动Eureka服务器和服务提供者后,服务提供者会自动注册到Eureka服务器上,通过Eureka服务器可以发现和调用服务。
评论已关闭