SpringCloud Eureka



SpringCloud Eureka

在上一节中,我们已经配置了
Ribbon ,并在这两个服务之间分配了负载。在本部分中,我们将设置
Eureka naming server。

naming server

naming server是一种计算机应用程序,它实现了用于响应目录服务查询的网络服务。

Eureka服务器

Eureka服务器是基于REST的服务器,在
AWS Cloud 服务中用于负载均衡和中间层服务的故障转移。
Eureka服务器是一种包含以下信息的应用程序: 所有客户端服务应用程序。每个微服务都会向Eureka服务器注册。服务器使用其
端口号
IP地址注册客户端服务。它也称为
Discovery Server 。Eureka服务器随附于Spring Cloud捆绑包。它在默认端口
8761 上运行。它还带有一个基于Java的客户端组件eureka客户端,它使与服务的交互变得更加容易。

服务器的需求

另一个负载平衡器应用程序,称为
AWS Cloud 。由于其固有的性质,服务器会上下波动。没有中间层负载均衡器。 Eureka服务器填补了
客户端
中间层负载均衡器之间的空白。
假设我们要启动另一个货币兑换实例,
CurrencyExchangeService3 服务并在端口8002上启动它。在这里出现一个问题,
功能区将能够将负载分配给它吗?
如果功能区希望将负载分配给新服务器,我们需要将其添加到配置中。根据负载,我们可以增加或减少服务实例的数量。
在本节中,我们将能够动态增加或减少实例的数量。
如果我们根据当前启用的CurrenyExchangeService的数量继续更改CurrencyCalulationService,那么维护起来将变得非常困难。
当我们想简化维护时,Eureka服务器应运而生。所有微服务的所有实例都将在
Eureka 服务器中注册。每当出现新的微服务实例时,它将在Eureka服务器中注册自己。微服务在服务器上的注册称为
服务注册。
每当一个服务要与另一个服务通话时,假定CurrencyCalculationService想要与CurrencyExchangeService通话。 CurrencyCalculationService首先与Eureka服务器对话。服务器提供当前正在运行的CurrencyExchangeService实例。为其他服务提供实例的过程称为
服务发现。
服务注册
服务发现是两个重要的服务器的功能。下一步,我们将设置一个Eureka服务器。

设置Eureka服务器

设置过程涉及很多步骤。 Eureka服务器如下:

为Eureka服务器创建组件
更新CurrencyCalculationService以连接到Eureka服务器
将CurrencyExchangeService连接到Eureka服务器
配置功能区

一旦在Eureka服务器上注册了currency-exchange-service实例,那么我们将使用功能区从服务器中查找详细信息。让我们按照上面指定的步骤进行操作:
为Eureka服务器创建组件
步骤1: 打开Spring Initializr https://start.spring.io 。
步骤2: 提供
Group名称。我们提供了
com.lidihuo.microservices。
步骤3: 提供
Artifact id。我们提供了
netflix-eureka-naming-server。

SpringCloud Eureka_https://bianchenghao6.com_【SpringCloud 教程】_第1张

步骤4: 添加以下依赖项:
Eureka Server,Config Client,Actuator,
DevTools。

SpringCloud Eureka_https://bianchenghao6.com_【SpringCloud 教程】_第2张

步骤5: 点击
生成 >按钮。它会下载一个
zip 文件。
步骤6:
提取该zip文件并将该文件夹粘贴到Spring Tool Suite中(STS)工作区,然后
导入
文件->导入->现有Maven项目->下一步->浏览->选择
netflix-eureka命名-服务器项目->完成

SpringCloud Eureka_https://bianchenghao6.com_【SpringCloud 教程】_第3张

步骤7: 打开
NetflixEurekaNamingServerApplication.java 文件,并使用注释
@EnableEurekaServer 启用Eureka服务器。
NetflixEurekaNamingServerApplication .java
package com.lidihuo.microservices.netflixeurekanamingserver;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;
@SpringBootApplication
@EnableEurekaServer
public class NetflixEurekaNamingServerApplication 
{
public static void main(String[] args) {
SpringApplication.run(NetflixEurekaNamingServerApplication.class, args);
}
}

步骤8: 打开
application.properties 文件并配置
应用程序名称,端口,
尤里卡服务器
spring.application.name=netflix-eureka-naming-server
server.port=8761
eureka.client.register-with-eureka=false
eureka.client.fetch-registry=false

端口
8761 是Eureka服务器的默认端口。
步骤9: 运行
NetflixEurekaNamingServerApplication.java 文件作为Java应用程序。
第10步: 打开浏览器并输入URL http://localhost:8761 。它显示了Eureka服务器UI。

SpringCloud Eureka_https://bianchenghao6.com_【SpringCloud 教程】_第4张

在本节中,我们有创建了一个组件Eureka服务器。下一步,我们将微服务与Eureka服务器连接。