Hystrix是熔断机制,类似电路中的保险丝,防止服务出现雪崩效应。服务雪崩效应是一种因“服务提供者”的不可用,导致“服务消费者”的不可用,并将“不可用”服务逐渐放大的过程,最终导致系统崩溃。
Hystrix特性之一服务降级处理,实现fallback方法,当请求服务出现异常的时候,可以使用fallback方法返回本地信息,不再与远端服务器交互。
为了说明关键点,以下代码是增量,其他代码参见上篇:Spring Cloud引入Feign服务调用
1、服务提供者降级处理(Hystrix)
使用Hystrix规范编写fallbackMethod方法
pom.xml 引入hystrix包
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-hystrix</artifactId>
<version>1.4.6.RELEASE</version>
</dependency>
HelloController.java 增加Fallback方法,当出现错误时进行熔断
本方法假设入口参数为空时,引发熔断
@RestController
public class HelloController {
@RequestMapping("/hello")
@HystrixCommand(fallbackMethod="helloFallback")
// 如