我们提供了一个接口并实例化TestHystrixCommand类,通过 execute方法进行调用。当调用hystrix接口时,如果服务正常返回,则Hystrix 不做任何处理,一旦服务不可用,Hystrix就会开启熔断器,并进行异常处理,调用getFallback方法返回。
启动test工程,通过postman访问地址 http:/localhost:9999/testHystrix ,出现如图11-2所示的界面。
这说明此时服务正常返回。我们将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、