对比rpc框架功能1——降级

降级功能基本是rpc框架的标配了,不过对比了一些rpc框架,发现实现方式还是挺不一样的。

唯品会的rpc框架osp

osp是提供了一个配置,如果配置服务为降级,那个这个服务的server端收到请求,直接返回一个降级对应的错误码,client收到这个结果后,可以根据这个错误码做处理,比如返回一些固定数据之类的。

优点:
1 降级配置方式非常灵活,可以根据请求来源配置是否降级。
2 能非常快速方便处理一些场景:比如唯品会大促的时候,把商品评论服务设置为降级,这样就可以方便的关闭掉商品评论功能了。
3 不同的调用方可以根据降级错误码来做不同的事情,非常的灵活。

缺点:
1 降级了的服务,还是会收到client的请求,对client和server还是有些压力

蚂蚁金服的rpc框架sofa

sofa没有看到明确的降级功能。
只是提供了自动故障剔除功能,但是这个功能只是修改server的流量权重,叫他为熔断更加贴切。

淘宝的rpc框架dubbo

dubbo提供了一个mock功能,如果server返回异常的情况下,可以用mock数据替代。

<dubbo:reference id="demoService" check="false" interface="com.alibaba.dubbo.demo.DemoService" mock="return null"/>
这种情况下,mock数据为null

<dubbo:reference id="demoService" check="false" interface="com.alibaba.dubbo.demo.DemoService" mock="true"/>
这种情况下,就自动会找DemoServiceMock这个类,去做mock数据返回。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容