Dubbo剖析-服务降级
2018-05-07 本文已影响69人
阿里加多
一、前言
dubbo提供了一些服务降级措施,当服务提供端某一个非关键的服务出错时候,dubbo可以对消费端的调用进行降级,这样服务消费端就避免了在去调用出错的服务提供端,而是使用自定义的返回值直接在在本地返回。
二、如何使用服务降级
-
直接返回mock值
image.png
mock=force:return+null 表示消费方对该服务的方法调用都直接返回 null 值,不发起远
程调用。用来屏蔽不重要服务不可用时对调用方的影响。
设置完后,可以在管理控制台查看:
121.jpg image.png
-
2.2 调用失败后在返回mock值
image.png
mock=fail:return+null 表示消费方对该服务的方法调用在失败后,再返回
null 值,不抛异常。用来容忍不重要服务不稳定时对调用方的影响。
三、服务降级的实现
服务降级是在MockClusterInvoker类实现:
121.jpg
四、总结
dubbo提供了一些服务降级措施,当服务提供端某一个非关键的服务出错时候,dubbo可以对消费端的调用进行降级,这样服务消费端就避免了在去调用出错的服务提供端,而是使用自定义的返回值直接在在本地返回。但是相比springcloud的熔断机制,dubbo的容错很不智能,sc里面的熔断机制可以自动熔断和恢复,感兴趣的大家可以去看看。另外深入浅出dubbo视频课程已经更新完毕, 单击我观看视频 可进入观看