08-OpenFeign-结合Sentinel,实现熔断降级
Sentinel
alibaba/Sentinel: Sentinel 是阿里巴巴开源的一款面向分布式服务架构的流量控制、熔断降级组件,提供实时监控、限流、降级和系统保护功能,适用于微服务治理场景。
项目地址:https://gitcode.com/gh_mirrors/sentine/Sentinel
免费下载资源
·
目录
当我们在对服务远程调用时,会因为服务的请求超时、抛出异常等情况,导致调用失败。
如果短时间内,产生大量请求异常。引发上游的调用方请求积压,最终会引起整个调用链雪崩。
为此我们需要对核心的调用过程进行监控,当产生异常时,可以采取相应的措施,确保服务的容错性、可用性。
OpenFeign默认支持Hystrix,本文主要以alibaba 相关中间件为参考。
服务调用方
以下配置结合了spring cloud、spring boot、spring cloud-alibaba。具体的接入可以查看之前的博文
1、整合sentinel
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
</dependency>
2、配置文件中开启sentinel熔断降级
feign:
sentinel:
enabled: true
3、添加降级回调类
和openFeign接口实现同一个类
一旦OpenFeignService中对应得接口出现了异常则会调用这个类中对应得方法进行降级处理。
4、添加fallback属性
@FeignClient(value = "openFeign-provider", fallback = OpenFeignFallbackService.class)
public interface OpenFeignService {}
配置说明:
value:可以是具体的服务地址URL、使用nacos的服务名
fallback:调用失败的降级方案
02-OpenFeign-微服务接入_openfeign接入-CSDN博客
03-OpenFeign-请求传参设置_openfeign调用post请求传参-CSDN博客
04-OpenFeign-请求超时机制_openfeign 默认超时时间-CSDN博客
06-OpenFeign-使用HtppClient连接池_feignclient 连接池-CSDN博客
08-OpenFeign-结合Sentinel,实现熔断降级_sentinel openfeign-CSDN博客
09-OpenFeign-令牌中继、透传_openfeign header透传-CSDN博客
GitHub 加速计划 / sentine / Sentinel
22.25 K
7.98 K
下载
alibaba/Sentinel: Sentinel 是阿里巴巴开源的一款面向分布式服务架构的流量控制、熔断降级组件,提供实时监控、限流、降级和系统保护功能,适用于微服务治理场景。
最近提交(Master分支:3 个月前 )
195150bc
* fix issue 2485 which occur oom when using async servlet request.
* optimize imports
* 1. fix the same issue in the webmvc-v6x
2. improve based on review comments 2 个月前
b78b09d3
2 个月前
更多推荐
已为社区贡献3条内容
所有评论(0)