使用Eureka和Ribbon分发调用2025年1月11日 | 阅读 2 分钟 在上一节中,我们已经将currency-exchange-service和currency-conversion-service注册到Eureka命名服务器。 当CurrencyCalculationService(currency-conversion-service)调用CurrencyExchangeService时,Eureka命名服务器会找到currency-exchange-service的详细信息。 Ribbon不再对URL进行硬编码,而是与Eureka命名服务器通信,并检索所有微服务实例的详细信息。 步骤1: 打开文件application.properties。 在此文件中,我们已经配置了Eureka命名服务器并禁用了我们之前配置的服务器列表。 在currency-conversion-service中,我们已经配置了Eureka的URL。 现在,我们在两个服务中都配置了Eureka命名服务器。 现在,CurrencyExchangeService开始与Eureka命名服务器通信。 application.properties 注意:在上面的代码中,哈希符号(#)表示注释。这里要注意的一件事是,在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 https://:8100/currency-converter-feign/from/EUR/to/INR/quantity/1000。 ![]() 当我们刷新Eureka服务器时,它总是在响应中返回端口8000。 步骤9: 在端口8001上运行CurrencyExchangeServiceApplication.java的另一个实例。 步骤10: 再次刷新Eureka服务器。 我们看到有两个 currency-exchange-service的实例在端口8000和8001上运行。 ![]() 步骤11: 刷新URL https://:8100/currency-converter-feign/from/EUR/to/INR/quantity/1000。 ![]() 当我们刷新Eureka服务器时,它会一次又一次地更改端口。 步骤12: 关闭CurrencyExchangeServiceApplication8000。 ![]() 步骤13: 再次刷新URL https://:8100/currency-converter-feign/from/EUR/to/INR/quantity/1000。它在响应中返回端口8001。 因此,即使同一服务的实例宕机或由于其他原因中断,服务也永远不会宕机。 下一主题API网关介绍 |
我们请求您订阅我们的新闻通讯以获取最新更新。