- 【SpringCloud-Alibaba系列教程】9.Fegin
- 【SpringCloud-Alibaba系列教程】13.gate
- 【SpringCloud-Alibaba系列教程】10.gate
- 【SpringCloud-Alibaba系列教程】6.openf
- 【SpringCloud-Alibaba系列教程】11.gate
- 【SpringCloud-Alibaba系列教程】7.容错
- 【SpringCloud-Alibaba系列教程】5.负载均衡
- 【SpringCloud-Alibaba系列教程】4.服务管理
- 【SpringCloud-Alibaba系列教程】1.环境搭建以
- 【SpringCloud-Alibaba系列教程】2.搭建用户微
我们开始吧
首先我们需要在配置文件中配置Fegin的相关规则
#开启fegin对sentinel支持
feign:
sentinel:
enabled: true
然后我们创建容错实现类

其次就是在Fegin调用接口的时候加上fallback

我们在controller中编写相关逻辑
if (product.getPid()==-1){
Order order = new Order();
order.setPid(-1);
order.setPname("下单失败");
return order;
}
然后我们测试一下。当商品微服务挂掉以后可以看到会自动进入容错逻辑。

这样我们就实现了相关的容错,但是这样也会有一个问题,我们这样是没有异常的,不方便我们的查找,其实还有另外一个方式,就是实现fallbackfactory
其实和fallback是差不多的。
我们来实现一下。新建ProductServiceFallbackFactory

然后在配置的时候使用(两个不能同时使用)

再次测试就可以看到我们的容错


这样我们就完成了基本的容错实现机制
后期会在这个项目上不断添加,喜欢的请点个start~
项目源码参考一下分支220216_xgc_FeginAndSentinel
Gitee:https://gitee.com/coderxgc/springcloud-alibaba
GitHub:https://github.com/coderxgc/springcloud-alibaba
网友评论