【SpringCloud-Alibaba系列教程】9.Fegin整合sentinel实现容错机制

166 阅读1分钟

「这是我参与2022首次更文挑战的第8天,活动详情查看:2022首次更文挑战

我们开始吧

首先我们需要在配置文件中配置Fegin的相关规则

#开启fegin对sentinel支持
feign:
  sentinel:
    enabled: true

然后我们创建容错接口

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

image.png 我们在controller中编写相关逻辑

if (product.getPid()==-1){
    Order order = new Order();
    order.setPid(-1);
    order.setPname("下单失败");
    return order;
}

然后我们测试一下。当商品微服务挂掉以后可以看到会自动进入容错逻辑。

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

image.png 然后在配置的时候使用 image.png 再次测试就可以看到我们的容错

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