Dubbo服务降级-Mock

kyaa111 3年前 ⋅ 797 阅读

模块A依赖模块B, 当模块B无法启动或无法提供服务时, 需要进行服务降级

 @Reference(version = "${bs.service.version}", timeout = 500000, retries = 0, check = false, mock = "fail:com.code.test.TestServiceMock")
private TestService TestService;

check = false, 项目启动时, 不检查模块B的服务状态

mock = "fail:com.code.test.TestServiceMock" , 当且仅当, 调用模块B的服务失败抛出RPCException时, 执行此类的对应方法(该类需要实现TestService接口)

也可以设置mock = "fail:return null" , 意为: 调用失败时, 方法直接返回null

参考官方文档http://dubbo.apache.org/zh/docs/v2.7/user/examples/local-mock/