Spring Cloud框架下,微服务之间的调用可能会是多层次的,底层服务故障会造成连锁式的异常。Spring Cloud使用Netflix hystrix实现断路器,可以通过回调来阻止上述连锁调用失败的情况。另外, Spring Cloud还使用Netflix hystrix dashboard实现了断路器的监控。
Netflix hystrix
对于模块5 ribbonservice, 需要加入hystrix依赖库,在pom.xml中添加如下内容:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-hystrix</artifactId>
</dependency>
然后,在启动类中添加@EnableCircuitBreaker注解;
再次,在访问服务的方法上添加@HystrixCommand注解, 修改后的代码如下:
import com.netflix.hystrix.contrib.javanica.annotation.HystrixCommand;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.web.client.RestTemplate;
/**
* @program: springlearn
* @description: 创建获取一个获取Hello