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常见问题总结

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐