我试图从我的应用程序访问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