概念
整体资源快不够了,忍痛将某些服务先关掉,待渡过难关,再开启回来。
服务降级处理是在客户端完成,与服务端无关
所有的RESTful风格的接口都需要做服务降级的处理
这样就带来了一些问题,分析:
1.使用@HystrixCommand带来的异常通知方法,这导致有多少个方法就要写多少个异常通知方法,方法膨胀
2.业务代码出现其他方法,耦合度增强
为了降低耦合度同时也为了代码的可读性,使用Hystrix的FallbackFactory返回通知
服务降级
所谓降级,一般是从整体负荷考虑的,当某个服务熔断后,服务器将不再被调用
此时客户端可以准备一个fallback回调,返回一个缺省值
这样所,服务可用,比起全部服务直接挂掉要好
使用
1.修改api工程
在com.yan.cloudapi.service包下新建实现了FallbackFactory的接口,实现功能接口是DeptClientService
并在该类添加注解
@Component//不要忘记添加,不要忘记添加
package com.yan.cloudapi.service;
import com.yan.cloudapi.pojo.Dept;
import feign.hystrix.FallbackFactory;
import org.springframework.stereotype.Component;
import java.util.List;
/**
* @Author: 闫明辉
* @Description:
* @Date: Create in 12:45 2020/3/9
*/
@Component//不要忘记添加,不要忘记添加
public class DeptClientServiceFallbackFactory implements FallbackFactory<DeptClientService> {
@Override
public DeptClientService create