📅  最后修改于: 2021-01-07 03:43:37             🧑  作者: Mango
在上一节中,我们已经在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服务器。我们看到端口8000和8001上运行着两个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。
因此,即使同一服务的实例由于其他原因而关闭或中断,服务也永远不会关闭。