如何集成 Eureka Client本节将创建一个micro-weather-cureka-client作为客户端,并演示如何将自身向注册服务器进行注册,这样以便其他服务都能够通过名称来访问服务 。该客户端基于Eureka Client来实现 。
micro-weather-eureka-client可以基于micro-weather-eureka-server应用来做更改 。
文章插图
所需环境【微服务架构开发实战:如何集成 Eureka Client?】为了演示本例,需要采用如下开发环境 。
.JDK8 。
.Gradle 4.0 。
Spring Boot 2.0.0.M3 。
.Spring Cloud Starter Netflix Eureka Client Finchley.M2 。
更改build.gradle配置与micro-weather-eureka-server相比,micro-weather-eureka-client应用的build.gradle配置的变化,主要是在依赖上面,将Eureka Server的依赖改为Eureka Client即可 。
dependencies {//添加Spring Cloud Starter Netflix Eureka Client依赖compile ('org.springframework.cloud:spring-cloud-starter-netflix-eureka-client')//该依赖用于测试阶段testCompile('org.springframework.boot:spring-boot-starter-test')}
文章插图
一个最简单的Eureka Client将@EnableEurekaServer注解改为@EnableDiscoveryClient 。
import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.cloud.client.discovery.EnableDiscoveryClient;/***主应用程序.**@since 1-o.0 2017年11月01日*@author <a href=https://www.isolves.com/it/cxkf/jiagou/2020-09-08/"https://waylau.com">Way Lau*/@SpringBootApplication@EnableDiscoveryClientpublic class Applicationpublic static void main(String[] args){SpringApplication.run(Application.class,args);}}
org.springframework.cloud.client.discovery.EnableDiscoveryClient注解,就是一个自动发现客户端的实现 。修改项目配置修改application.properties,修改为如下配置 。
spring.application.name: micro-weather-eureka-client
eureka.client.serviceUrl.defaultZone: http://localhost:8761/eureka/
其中:.spring.application.name:指定了应用的名称;
.eureka.client.serviceUrl.defaultZonet:指明了Eureka Server的位置 。
运行和测试首先运行Eureka Server实例micro-weather-eureka-server,它启动在8761端口 。
而后分别在8081和8082上启动了Eureka Client实例micro-weather-eureka-client 。
JAVA -jar micro-weather-eureka-client-1.0.0.jar--server.port=8081java -jar micro-weather-eureka-client-1.0.0.jar --server.port=8082
这样,就可以在Eureka Server 上看到这两个实例的信息 。访问http:/localhost:8761,可以看到如图8-2所示的Eureka Server自带的UI管理界面 。文章插图
从管理界面“Instances currently registered with Eureka”中,能看到每个Eureka Client的状态,相同的应用(指具有相同的spring.application.name )下,能够看到每个应用的实例 。
如果Eureka Client离线了,Eureka Server也能及时感知到 。
不同的应用之间,就能够通过应用的名称来互相发现 。
其中,从界面上也可以看出,Eureka Server运行的IP为192.168.1.101 。
推荐阅读
- 阿里微服务布道师:详解微服务架构设计
- SPDK BlobFs简单体验
- 线下商家怎么运用微信小程序留存和裂变客户?四个方法轻松解决
- 腾讯健康系统实名认证怎么修改?
- 推荐系统架构治理
- 三层架构下,优酷视频搜索测试体系很复杂吗?
- Apache服务器下设置404错误页面
- 记一次使用 frp 完成实现服务器内网穿透全过程
- 别再问用 Go 语言如何对接微信支付了:看看这个包
- Python自建免费HTTP服务器,无公网IP也能远程访问