dubbo服务治理(一)降级
- - 企业架构 - ITeye博客在线网站一般都会有服务器压力剧增的时候,比如说网上商城的促销,这个时候常用的手段就是服务降级,根据当前业务情况及流量对一些服务和页面有策略的降级,以此缓解了服务器资源压力,以保证核心任务的正常运行,同时也保证了部分甚至大部分客户得到正确响应. 页面拒绝服务:页面提示由于服务繁忙此服务暂停. 跳转到varnish或nginx的一个静态页面.
在线网站一般都会有服务器压力剧增的时候,比如说网上商城的促销,这个时候常用的手段就是服务降级,根据当前业务情况及流量对一些服务和页面有策略的降级,以此缓解了服务器资源压力,以保证核心任务的正常运行,同时也保证了部分甚至大部分客户得到正确响应。
服务降级实施策略
现在说一下dubbo服务的降级方式,有两种方式:
其中动态配置中的参数可以定义超时时间
这里可以使用debug测试,让服务超时,很快消费者会报错
这里的mock值,这里有容错和屏蔽两个选择
屏蔽(mock=force):
mock=force:return+null 表示消费方对该服务的方法调用都直接返回 null 值,不发起远程调用。用来屏蔽不重要服务不可用时对调用方的影响
消费者放直接返回null不远程调用服务
容错(mock=fail)
还可以改为 mock=fail:return+null 表示消费方对该服务的方法调用在失败后,再返回 null 值,不抛异常。用来容忍不重要服务不稳定时对调用方的影响。
如果调用失败后返回null
<dubbo:reference id="iUser" interface="com.dubbosample.iface.IUser" timeout="1000" check="false" mock="return null">