服务降级
比如下面例子,order端作为client端调用product作为的server端
在client端 加依赖
测试时,断开server端,没有预期效果,把依赖换成如下就行了
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-hystrix</artifactId>
<version>2.0.0.RELEASE</version>
</dependency>
但,路由的访问限时又没效果,如果直接IP访问又有效果! 可能路由也要配置吧
在client应用启动加注解,SpringCloudApplication包含了被划的三个注解
当product端不能正常提供服务时,触发降级,就显示fallback的内容。
当然,除了目标服务异常,可触发降级,也可以当自己服务异常,也可触发异常。
设置默认fallback
就是所有的返回方法共用一个
设置超时时间
比如超过多长时间,就触发降级。
首先可以在server端加个睡眠。
client端,比如设置三秒.
或yml里配置
hystrix:
command:
default:
execution:
isolation:
thread:
timeoutInMilliseconds: 2000
同时方法头要加注解: @HystrixCommand
服务熔断
依赖隔离
监控(Hystrix Dashboard)