在上一节中, 我们已经在Eureka命名服务器上注册了currency-exchange-service和currency-conversion-service。
当CurrencyCalculationService(货币转换服务)调用CurrencyExchangeService时, Eureka命名服务器将找到货币兑换服务的详细信息。
Ribbon不会硬编码Ribbon的URL, 而是与Eureka命名服务器进行对话并检索微服务的所有实例的详细信息。
步骤1:打开文件application.properties。
在此文件中, 我们配置了Eureka命名服务器, 并禁用了之前配置的服务器列表。在货币兑换服务中, 我们已经为Eureka配置了URL。现在, 我们已经在两个服务中都配置了Eureka命名服务器。
【使用Eureka和Ribbon分配调用详细步骤】现在, CurrencyExchangeService开始与Eureka命名服务器对话。
application.properties
spring.application.name=currency-conversion-serviceserver.port=8100eureka.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。
因此, 即使同一服务的实例由于其他原因而关闭或中断, 服务也永远不会关闭。
点击这里下载货币兑换服务
点击这里下载货币兑换服务
点击这里下载netflix-eureka-naming-server
推荐阅读
- 实现Spring Cloud Bus详细步骤
- 使用Zipkin进行分布式跟踪示例图解
- Spring Cloud将微服务连接到Zipkin示例
- 使用Feign REST客户端进行服务调用
- 什么是Spring Cloud()
- Spring Cloud教程入门介绍
- Spring Cloud和Spring Boot之间有什么区别()
- Spring Cloud Config Server示例详细步骤图解
- Android 滑动定位+吸附悬停效果实现