📜  使用Eureka和功能区分配呼叫

📅  最后修改于: 2021-01-11 02:30:54             🧑  作者: Mango

使用Eureka和Ribbon分配呼叫

在上一节中,我们已经在Eureka命名服务器上注册了currency-exchange-service和currency-conversion-service。

当CurrencyCalculationService(currency-conversion-service)调用CurrencyExchangeService时,Eureka命名服务器将找到currency-exchange-service的详细信息。

Ribbon不会硬编码Ribbon的URL,而是与Eureka命名服务器进行对话并检索微服务的所有实例的详细信息。

步骤1:打开文件application.properties

在此文件中,我们配置了Eureka命名服务器,并禁用了之前配置的服务器列表。在currency-conversion-service中,我们已经为Eureka配置了URL。现在,我们已经在两个服务中都配置了Eureka命名服务器。

现在,CurrencyExchangeService开始与Eureka命名服务器对话。

application.properties

spring.application.name=currency-conversion-service
server.port=8100
eureka.client.service-url.default-zone=http://localhost:8761/eureka
#currency-exchange-service.ribbon.listOfServers=http://localhost:8000, http://localhost:8001

注意:在上面的代码中,井号(#)表示注释。

这是要注意的是,在application.properties文件中,我们没有currency-exchange-service的任何来源。我们没有在currency-conversion-service中硬编码currency-exchange-service的URL。

步骤2:杀死所有正在运行的应用程序。

步骤3:首先,运行NetflixEurekaNamingServerApplication.java

步骤4:打开浏览器并刷新Eureka服务器。

步骤5:在端口8000上运行CurrencyExchangeServiceApplication.java的实例。

步骤6:运行CurrencyConversionServiceApplication.java

步骤7:清除控制台,然后进行预热。

步骤8:打开浏览器,然后输入URL http:// localhost:8100 / currency-converter-feign / from / EUR / to / INR / quantity / 1000

当我们刷新Eureka服务器时,它总是在响应中返回端口8000。

步骤9:在端口8001上运行CurrencyExchangeServiceApplication.java的另一个实例。

步骤10:再次,刷新Eureka服务器。我们看到端口80008001上运行着两个currency-exchange-service实例。

步骤11:刷新URL http:// localhost:8100 / currency-converter-feign / from / EUR / to / INR / quantity / 1000

当我们刷新Eureka服务器时,它会一次又一次更改端口。

步骤12:杀死CurrencyExchangeServiceApplication8000

第13步:再次刷新URL http:// localhost:8100 / currency-converter-feign / from / EUR / to / INR / quantity / 1000 。它在响应中返回端口8001。

因此,即使同一服务的实例由于其他原因而关闭或中断,服务也永远不会关闭。