本地伪装 通常用于服务降级,比如某验权服务,当服务提供方全部挂掉后,客户端不抛出异常,而是通过 Mock 数据返回授权失败。
PS:本地伪装只处理 RPCException 其他的异常不做处理
如果项目时 spring + dubbo 的话 我们是没有办法使用 hystrix 实现服务降级的,单dubbo本身也给我们提供了服务降级,那就是mock,如果时 springBoot+dubbo的形式 那么推荐使用Hystrix 实现服务熔断降级,因为Hystrix 相对来说比较完善些
在原来的程序基础上 在provide端加一个 Mock的类,然后consumer端也加一个Mock的类,如下
1 |
public class implements BarService { |
然后 如果使用的是 spring + dubbo的形式则需要再配置文件加加 如下
1 |
<dubbo:service interface="com.foo.BarService" mock="com.foo.BarServiceMock" /> |
如果是 springBoot + dubbo
1 |
(interfaceClass = BarService.class,mock = "com.foo.BarServiceMock") |
案例代码:
近期评论