这说明此时服务正常返回。我们将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、test工程,可以看到控制台已映射了/hystrix地址,如图11-3所示。
图中的地址是Hystrix的仪表盘Web界面地址。在浏览器中输入地址localhost:9999/hystrix,就会看到如图11-4所示的界面。
该界面第一个文本框下有三排文字,我们得知,Hystrix Dashboard有3种监控模式。
-
默认集群监控:通过输人地址 http:turbine-hostname:port/turbine.stream开启。
-
自定义集群监控:通过输人地址 http:turbine-hostname:port/turbine.stream?cluster=[clusterName]对指定的集群名进行监控。
-
单体应用监控:通过输入地址 http://hystrix-app:port/hys