springcloud实战:服务间通信OpenFeign熔断,面试官必问的技术问题之一

我们提供了一个接口并实例化TestHystrixCommand类,通过 execute方法进行调用。当调用hystrix接口时,如果服务正常返回,则Hystrix 不做任何处理,一旦服务不可用,Hystrix就会开启熔断器,并进行异常处理,调用getFallback方法返回。

启动test工程,通过postman访问地址 http:/localhost:9999/testHystrix ,出现如图11-2所示的界面。

springcloud实战:服务间通信OpenFeign熔断,面试官必问的技术问题之一_第1张图片

这说明此时服务正常返回。我们将run方法改成以下代码:

try {

//模拟HTTP请求超时Thread.sleep(10800);}catch (Exception e){

e.printStackTrace();}

return“请求成功!";

我们模拟了请求时间为10秒,再次访问上述地址,可以看到postman打印出了“服务器异常!”字样。说明,HystrixCommand在请求服务时已然超时,因而调用了getFallback方法。

Hystrix除了支持熔断,它还提供了监控功能,并提供了可视化的Web界面。在 common 工程加入以下依赖就可以访问其Web界面:

org.springframework.cloud

spring-cloud-starter-netflix-hystrix-dashboard

要访问Hystrix的仪表盘,还需要在应用的人口类Application中添加@EnableHystrixDashboard注解。分别启动register、config

你可能感兴趣的:(程序员,面试,java,后端)