您的位置:首页 > 编程语言 > Java开发

Spring Cloud 的Eureka服务注册与发现

2017-02-12 22:24 1076 查看
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 参考

<1> Spring Cloud Netflix

<2> Service Registration and Discovery

<3> 程序猿DD-翟永超的博客

<4> 周立|Spring Cloud

Eureka常见问题总结
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: