服务降级是在消费者的接口层面设置,当提供者关闭或者异常时,返回错误提示信息,以避免拖死服务提供者,要在feign格式下设置
1.编写服务降级类,实现所需降级的接口
@Component // 不要忘记添加
public class OrderServiceFallbackFactory implements FallbackFactory<UserFeignClient> {
@Override
public UserFeignClient create(Throwable throwable) {
return new UserFeignClient() {
@Override
public String placeOrder() {
return "服务降级熔断。";
}
};
}
}
2.为接口设置降级类
@FeignClient(name = "eureka-provide",fallbackFactory = OrderServiceFallbackFactory.class)
public interface UserFeignClient {
@RequestMapping("/placeOrder")
public String placeOrder();
}
3.配置文件开启服务降级支持
feign.hystrix.enabled=true
4.提供者正常的情况
5.关闭提供者,模拟异常