服务降级
通过在dubbo的治理中心编辑动态配置:mock=force:return+null
消费者不会调用提供者,消费者直接返回null
强制降级,在dubbo的治理中心来配置降级
mock=fail:return+null
消费者调用提供者出现异常,指网络超时异常等,而不是指业务异常,这时dubbo返回null
异常降级,在dubbo的治理中心来配置降级
当然了,也可以定义返回true或false,配置成return+true或者return+false
当配置了mock属性,dubbo会根据配置生成对应的代理类调用
mock=com.alibaba.dubbo.rpc.cluster.support.wrapper.MockClusterWrapper
配置了mock属性会MockClusterWrapper代理类来调用
当代理类调用出来异常(非业务异常)时,会根据mock的配置来进行相关处理,
mock=true,则会使用[接口 + Mock]类名的接口实现类来处理返回什么值,如:
interface UserService{
public User getUser(int id);
}
class UserServiceMock implements UserService{
public User getUser(int id){
System.out.println("接口调用出现非业务异常");
return null;
}
}
调用getUser方法出现非业务异常时,会调用UserS