Spring Cloud 的Eureka服务注册与发现
Eureka云端服务发现,一个基于 REST 的服务,用于定位服务,以实现云端中间层服务发现和故障转移。引用[Spring Cloud中文网]在Spring Cloud中使用Eureka来进行服务注册与发现,通过Eureka管理各个微服务(感觉类似Zookeeper),这里简单的描述一下如果够赞Eureka的服务注册与发现。1 构建注册服务1.1 pom引用
Eureka
云端服务发现,一个基于 REST 的服务,用于定位服务,以实现云端中间层服务发现和故障转移。引用[Spring Cloud中文网]
在Spring Cloud中使用Eureka来进行服务注册与发现,通过Eureka管理各个微服务(感觉类似Zookeeper),这里简单的描述一下如果够赞Eureka的服务注册与发现。
1 构建注册服务
1.1 pom引用
首先构建一个普通的Spring Boot应用,在pom文件中添加一些必须的引用。
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka-server</artifactId>
</dependency>
</dependencies>
感觉这里真正有用的应该是 spring-cloud-starter-eureka-server.
1.2 配置
在项目的application.properties中添加基本的配置信息。
server.port=8081
spring.application.name=eureka
eureka.client.serviceUrl.defaultZone=http://localhost:${server.port}/eureka/
eureka.instance.prefer-ip-address=true
这里server.port表示端口,spring.application.name为应用名称,defaultZone为Eureka的注册地址。默认Eureka在启动后,默认会向自己进行注册,可以通过设置“eureka.client.registerWithEureka=false”来禁止该行为(不过禁止后,有其他奇怪的情况发生)。
1.3 启动Eureka Server服务
启动Eureka Server服务非常简单,只要使用@EnableEurekaServer注解,就可以在一个普通的Spring Boot项目上开启Eureka Server服务。
@SpringBootApplication
@EnableEurekaServer
public class DiscoverApp {
public static void main(String[] args){
SpringApplication.run(DiscoverApp.class, args);
}
}
在这些都完成后,可以启动该Spring Boot应用,访问本地 http://localhost:8081/,就会看到如下界面:
可以看到这里会有一个注册服务,即Eureka自己。
2 注册服务
实现一个Eureka服务的Client端,同样简单。
2.1 pom引用
2.2 配置
2.3 启动Eureka Client服务
3 遇到的问题
4 参考
<2> Service Registration and Discovery
<3> 程序猿DD-翟永超的博客
更多推荐
所有评论(0)