我试图从我的应用程序访问Rest API。当该API不在线时,我的应用程序发生上述错误。我正在使用弹簧靴。我想知道,有没有办法在访问URL之前检查其可用性。

 String URL = "http://172.17.42.1:4001/v2/keys" + key + "/running";
 instance = restTemplate.getForObject(URL, Instance.class);

最佳答案

要知道服务的可用性,您必须点击URL,没有其他方法。

但是,spring-cloud-netflix-hystrix用于处理此类问题。

Circuit Breaker文档


  Netflix的Hystrix库提供了Circuit的实现
  断路器模式:将断路器应用于方法时,Hystrix
  监视对该方法的调用失败,以及是否失败累积到
  一个阈值,Hystrix断开电路,以便后续调用
  自动失败。电路断开时,Hystrix重定向呼叫
  方法,然后将它们传递到我们指定的后备方法


有很多材料可供学习。


Hystrix Circuit Breaker Pattern – Spring Cloud

09-04 10:51
查看更多