您的位置:首页 > 其它

使用 Eureka 实现服务注册与发现

2018-02-13 14:12 471 查看
Eureka 是 Netflix 出品的用于实现服务注册和发现的工具。 Spring Cloud 集成了 Eureka,并提供了开箱即用的支持。其中, Eureka 又可细分为 Eureka Server 和 Eureka Client。本例子将演示如何通过 Spring Cloud Eureka 来快速实现服务的注册和发现。

开发环境

Gradle 4.0
Spring Boot 2.0.0.M3
Spring Cloud Netflix Eureka Server Finchley.M2
Spring Cloud Netflix Eureka Client Finchley.M2

从 Spring Initializr 进行项目的初始化

访问http://start.spring.io/ 进行项目的初始化。我们将该项目命名为micro-weather-eureka-server。

更改配置

根据下面两个博客的指引来配置,加速项目的构建。Gradle Wrapper 引用本地的发布包 : https://waylau.com/change-gradle-wrapper-distribution-url-to-local-file/ 使用Maven镜像 : https://waylau.com/use-maven-mirrors/

启用 Eureka Server

为启用 Eureka Server ,在 Application 上增加@EnableEurekaServer注解即可。

修改项目配置

修改 application.properties,增加如下配置。
其中:server.port: 指明了应用启动的端口号
eureka.instance.hostname: 应用的主机名称
eureka.client.registerWithEureka: 值为false意味着自身仅作为服务器,不作为客户端
eureka.client.fetchRegistry: 值为false意味着无需注册自身
eureka.client.serviceUrl.defaultZone: 指明了应用的URL

启动 Eureka Server

启动应用,访问http://localhost:8761/,可以看到 Eureka Server 自带的 UI 管理界面。

创建 Eureka Client

我们在micro-weather-eureka-server基础上,将创建一个micro-weather-eureka-client 作为客户端,并演示如何让将自身向注册服务器进行注册,让其可以其他服务都调用。

更改配置

增加如下配置:

一个最简单的 Eureka Client

其中@EnableDiscoveryClient启用了服务发现的功能,只要 Eureka Client 启动了,就能被 Eureka Server 所感知。项目配置:

运行

分别在 8081 和 8082 上启动了客户端示例。
可以在 Eureka Server 上看到这两个实体的信息。

源码

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