在前一步的基础上实现熔断功能
回顾
在Eureka总结中构建了两个服务:用户服务和博客服务,并实现了远端调用。想要实现熔断需要在调用端,即博客服务中做以下修改,贼简单。
0.配置的修改
application.properites中添加
#熔断配置
feign.hystrix.enabled=true
1.为UserRemote接口添加熔断类,实现熔断时执行的代码,这里需要注意的地方是@Component注解,实现UserRemote接口,和参数匹配
@Component
public class UserRemoteHystrix implements UserRemote {
@Override
public String findByUsername(@RequestParam(value = "name") String name) {
return "熔断啦";
}
}
2.在UserRemote中配置熔断类,fallback属性,注意fallback属性是不带双引号的。
@Service
@FeignClient(name="blog-viewer",fallback = UserRemoteHystrix.class)
public interface UserRemote {
@RequestMapping("/findByUsername")
public String findByUsername(@RequestParam(value="name")String name);
}
测试过程
依次开启注册中心,用户服务和博客服务,先发一个myList请求试试,通了之后手动关闭用户服务,再发请求,发现熔断。返回的结果为null