dubbo服务治理(一)降级

在线网站通常都会有服务器压力剧增的时候,好比说网上商城的促销,这个时候经常使用的手段就是服务降级,根据当前业务状况及流量对一些服务和页面有策略的降级,以此缓解了服务器资源压力,以保证核心任务的正常运行,同时也保证了部分甚至大部分客户获得正确响应java

服务降级实施策略nginx

  • 页面拒绝服务:页面提示因为服务繁忙此服务暂停。跳转到varnishnginx的一个静态页面。
  • 服务接口拒绝服务:无用户特定信息的页面能访问,提示服务器繁忙。页面内容也可在缓存(Varnish)或CDN内获取。
  • 延迟持久化:页面访问照常,可是涉及记录变动,会提示稍晚能看到结果,将数据记录到异步队列或log,服务恢复后执行。
  • 随机拒绝服务:服务接口随机拒绝服务,让用户重试,目前较少采用。由于用户体验不佳。

如今说一下dubbo服务的降级方式,有两种方式:缓存

  • dubbo-admin中进行动态配置来事项降级 

     

 

      其中动态配置中的参数能够定义超时时间服务器

      这里能够使用debug测试,让服务超时,很快消费者会报错异步

      这里的mock值,这里有容错和屏蔽两个选择测试

      屏蔽(mock=force)网站

 

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

       消费者放直接返回null不远程调用服务spa

      容错(mock=fail)debug

 

 

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

        若是调用失败后返回null

 code

 

  • 经过注册配置实现
<dubbo:reference id="iUser" interface="com.dubbosample.iface.IUser"  timeout="1000" check="false" mock="return null">
相关文章
相关标签/搜索