首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

SpringCloud微服务架构开发实战:实现服务注册与发现

实现服务的注册与发现

在前面分别用Eureka Server和Eureka Client来搭建了一台注册服务器,以及多个Eureka Client客户端。Eureka Client在启动后,就会将自己注册到EurekaServer中,这样,Eureka Server就能及时感知到注册上来的Eureka Client,以便其他服务通过应用的名称来调用这些服务。

在理解了这些原理之后,我们就能非常简单地通过天气预报系统来实现服务的注册和发现。

原有的天气预报微服务都需要进行一些微调,成为可以被Eureka Server注册和发现的EurekaClient。这样,最终会形成以下4个新的应用。

.msa-weather-collection-eureka:基于msa-weather-collection-server和Eureka Client实现的天气数据采集微服务。

.msa-weather-data-eureka:基于msa-weather-data-server和Eureka Client实现的天气数据API微服务。

.msa-weather-city-eureka:基于msa-weather-city-server和Eureka Client实现的城市数据微服务。

msa-weather-report-eureka:基于msa-weather-report-server和Eureka Client实现的天气预报采集微服务。

所需环境

为了演示本例,需要采用如下开发环境。

.JDK8。

.Gradle 4.0。

Redis 3.2.100。

. Spring Boot 2.0.0.M3。

.Spring Cloud Starter Netflix Eureka Client Finchley.M2。

更改build.gradle配置

4个新的应用的build.gradle配置的变化,相比于原来的应用而言,主要体现在以下几点。

springBootVersion变量指定了Spring Boot的版本,这里设定为2.0.0.M3,而非之前的2.0.0.M4.因为最新的Spring Cloud并未对Spring Boot 2.0.0.M4做好兼容。

添加了springCloudVersion变量,用于指定Spring Cloud 的版本。目前,本文中主要用了Finchley.M2版本。

在dependencyManagement(依赖管理)中,我们导入了Spring Cloud的依赖的管理。

最为重要的是,在依赖中,我们添加了Spring Cloud Starter Netflix Eureka Client依赖。

以下是列出的配置点。

启用Eureka Client

要启用Eureka Client,在每个应用的根目录下Application类中添加注解@EnableDiscoveryClient即可。

修改项目配置

修改application.properties,修改相应的配置。其中:

eureka.client.serviceUrl.defaultZonet:都指向同一个Eureka Server;

.spring.application.name:指定为不同应用的各自的名称。

以下是msa-weather-collection-eureka的配置示例。

其他三个应用的配置类似,spring.application.name分别是msa-weather-data-cureka、msa-weather-city-eureka、msa-weather-report-eureka。

运行和测试

首先运行Eureka Server实例micro-weather-eureka-server,它启动在8761端口。

其次要运行Redis服务器。

然后分别在8081和8082上启动了msa-weather-collection-eureka实例两个,在8083和8084上启动了msa-weather-data-eureka实例两个,在8085和8086上启动了msa-weather-city-eureka实例两个,在8087和8088上启动了msa-weather-report-eureka实例两个。启动脚本如下。

这样,就可以在Eureka Server上看到这8个实例的信息。访问http://localhost:8761,可以看到如图8-3所示的Eureka Server自带的UI管理界面。

从管理界面中可以看到每个Eureka Client的状态。如果Eureka Client离线了,Eureka Server也能及时感知到。

其中,从界面上也可以看出,Eureka Server运行的IP为192.168.1.101。

本篇文章内容给大家讲解的是实现服务的注册与发现

下篇文章给大家讲解微服务的消费;

觉得文章不错的朋友可以转发此文关注小编;

感谢大家的支持!

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20201119A0G8DI00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券