Eureka介绍与基本使用
Eureka是Netflix开发的服务发现框架,本身是一个基于REST的服务,主要用于定位运行在AWS域中的中间层服务,以达到负载均衡和中间层服务故障转移的目的。
SpringCloud将它集成在其子项目spring-cloud-netflix中,以实现SpringCloud的服务发现功能。
Eureka是Netflix开发的一个用于实现服务注册和发现的服务。Spring Cloud集成了Eureka,使我们可以非常方便地将Eureka集成到Spring Cloud的微服务架构中。
一个简单的Eureka服务器的设置方法:
1 在pom.xml中添加Eureka服务器依赖:
<dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-server</artifactId></dependency></dependencies>
2 在application.properties或application.yml中添加Eureka服务器配置:
server:port:eureka:instance:hostname: localhost
client:registerWithEureka:falsefetchRegistry:falseserviceUrl:defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/
3 创建启动类,使用@EnableEurekaServer注解启用Eureka服务器:
importorg.springframework.boot.SpringApplication;importorg.springframework.boot.autoconfigure.SpringBootApplication;importorg.springframework.cloud.netflix.eureka.server.EnableEurekaServer;@EnableEurekaServer@SpringBootApplicationpublicclassEurekaServerApplication{publicstaticvoidmain(String[] args){SpringApplication.run(EurekaServerApplication.class, args);}}
启动Eureka服务器后,就可以在
http://localhost:8761/
上看到Eureka的管理页面。
对于Eureka客户端,通常是指那些将自身服务注册到Eureka服务器,并从Eureka服务器获取其他服务信息的客户端。这通常是指微服务架构中的各个服务。
一个Eureka客户端的设置方法:
1 在pom.xml中添加Eureka客户端依赖:
<dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-client</artifactId></dependency></dependencies>
2 在application.properties或application.yml中添加Eureka客户端配置:
eureka:client:serviceUrl:defaultZone: http://localhost:8761/eureka/
instance:preferIpAddress:true
3 在启动类上使用@EnableDiscoveryClient注解来启用服务发现:
importorg.springframework.boot.SpringApplication;importorg.springframework.boot.autoconfigure.SpringBootApplication;importorg.springframework.cloud.client.discovery.EnableDiscoveryClient;@EnableDiscoveryClient@SpringBootApplicationpublicclassClientApplication{publicstaticvoidmain(String[] args){SpringApplication.run(ClientApplication.class, args);}}
启动Eureka客户端后,它会自动将自己注册到Eureka服务器,其他服务则可以通过Eureka服务器来发现和调用该客户端的服务。
版权归原作者 yinying293 所有, 如有侵权,请联系我们删除。