第三章:(3)高可用 之 服务降级

一、服务降级

  1、什么是服务降级

    当服务器压力剧增的情况下,根据实际业务情况及流量,对一些服务和页面有策略的不处理或换种简单的方式处理,从而释放服务器资源以保证核心交易正常运作或高效运作。

  2、降级 Dubbo 服务

    可以通过服务降级功能临时屏蔽某个出错的非关键服务,并定义降级后的返回策略。

    向注册中心写入动态配置覆盖规则:

RegistryFactory registryFactory = ExtensionLoader.getExtensionLoader(RegistryFactory.class).getAdaptiveExtension();
Registry registry = registryFactory.getRegistry(URL.valueOf("zookeeper://10.20.153.10:2181"));
registry.register(URL.valueOf("override://0.0.0.0/com.foo.BarService?category=configurators&dynamic=false&application=foo&mock=force:return+null"));

 

  其中:

  (1)mock=force:return+null 表示消费方对该服务的方法调用都直接返回 null 值,不发起远程调用。用来屏蔽不重要服务不可用时对调用方的影响。

    不调用,直接返回 null。

 

  (2)还可以改为 mock=fail:return+null 表示消费方对该服务的方法调用在失败后,再返回 null 值,不抛异常。用来容忍不重要服务不稳定时对调用方的影响。

    调用失败后返回 null。

 

二、设置服务降级

  1、屏蔽(mock=force:return+null)

  可以在消费者管理台设置服务的屏蔽,就不会远程调用,直接在客户端返回空对象。

第三章:(3)高可用 之 服务降级

 

  2、容错( mock=fail:return+null)

  可以在消费者管理页面进行服务容错,容错后,当远程调用失败时,返回空对象。

第三章:(3)高可用 之 服务降级

 

上一篇:postman的霸主地位动摇了


下一篇:接口测试自动化后起之秀-YApi接口管理平台