springboot整合dubbo

本地伪装 通常用于服务降级,比如某验权服务,当服务提供方全部挂掉后,客户端不抛出异常,而是通过 Mock 数据返回授权失败。
PS:本地伪装只处理 RPCException 其他的异常不做处理

如果项目时 spring + dubbo 的话 我们是没有办法使用 hystrix 实现服务降级的,单dubbo本身也给我们提供了服务降级,那就是mock,如果时 springBoot+dubbo的形式 那么推荐使用Hystrix 实现服务熔断降级,因为Hystrix 相对来说比较完善些

本地存根

在原来的程序基础上 在provide端加一个 Mock的类,然后consumer端也加一个Mock的类,如下

1
2
3
4
5
6
public class  implements BarService {
public String sayHello(String name) {

return "容错数据";
}
}

然后 如果使用的是 spring + dubbo的形式则需要再配置文件加加 如下

1
<dubbo:service interface="com.foo.BarService" mock="com.foo.BarServiceMock" />

如果是 springBoot + dubbo

1
(interfaceClass = BarService.class,mock = "com.foo.BarServiceMock")

案例代码: