Spring Cloud Alibaba Sentinel 整合 Feign 实现服务熔断保护
<|begin▁of▁sentence|># 1. 概述
本文分享 **Spring Cloud Alibaba 之 Sentinel 与 Feign 的整合**。Sentinel 提供了对 Feign 的支持,让我们可以非常方便的在 Feign 调用时,使用 Sentinel 进行保护。
> 友情提示:对 Sentinel 基本概念不熟悉的胖友,可以阅读[《Sentinel 官方文档 —— 介绍》](https://github.com/alibaba/Sentinel/wiki/介绍)进行学习。考虑到胖友的英语水平,可以阅读[《Spring Cloud Alibaba 官方文档 —— 熔断器 Sentinel》](https://github.com/alibaba/spring-cloud-alibaba/wiki/Sentinel)的中文版本。
在开始本文之前,胖友需要对 Feign 进行简单的了解。可以阅读[《Spring Cloud 源码分析 —— Feign》](http://www.iocoder.cn/Spring-Cloud/Feign/?self)文章。
# 2. 如何集成
在 Spring Cloud Alibaba 中,Sentinel 和 Feign 的整合,通过 **spring-cloud-alibaba-sentinel** 来完成。那么,我们需要引入该依赖,如下图所示:
```xml
org.springframework.cloud
spring-cloud-starter-alibaba-sentinel
```
同时,因为我们要使用 Feign 进行声明式 HTTP 调用,所以需要引入 **spring-cloud-starter-openfeign** 依赖,如下图所示:
```xml
org.springframework.cloud
spring-cloud-starter-openfeign
```
# 3. 快速入门
> 示例代码对应仓库:
>
> - 服务提供者:`labx-10-sc-sentinel-demo01-provider`
> - 服务消费者:`labx-10-sc-sentinel-feign-demo01-consumer`
本小节,我们来搭建一个 Sentinel 整合 Feign 的示例。步骤如下:
- 首先,搭建一个服务提供者 `demo-provider`,提供 HTTP 接口。
- 然后,搭建一个服务消费者 `demo-consumer`,使用 Feign 调用服务提供者 `demo-provider` 的 HTTP 接口。同时,引入 Sentinel 进行保护。
## 3.1 搭建服务提供者
创建 [**labx-10-sc-sentinel-demo01-provider**](https://github.com/YunaiV/SpringBoot-Labs/tree/master/labx-10-spring-cloud-alibaba-sentinel/labx-10-sc-sentinel-demo01-provider) 项目,作为服务提供者 `demo-provider`。最终项目代码如下图所示:
### 3.1.1 引入依赖
创建 [`pom.xml`](https://github.com/YunaiV/SpringBoot-Labs/blob/master/labx-10-spring-cloud-alibaba-sentinel/labx-10-sc-sentinel-demo01-provider/pom.xml) 文件,引入 Spring Cloud、Spring Boot、Nacos Discovery 相关依赖。代码如下:
```xml
labx-10
cn.iocoder.springboot.labs
1.0-SNAPSHOT
4.0.0
labx-10-sc-sentinel-demo01-provider
org.springframework.boot
spring-boot-starter-web
com.alibaba.cloud
spring-cloud-starter-alibaba-nacos-discovery
```
最新文章
- 机动车交强险全解析:保障、区别与理赔流程
- DSRC技术:车联网时代的安全通信与自动驾驶新机遇
- 激光雷达:自动驾驶的智能之眼与安全守护者
- 激光雷达技术如何推动自动驾驶与车联网安全升级
- 高性能引擎驱动极致操控体验
- 汽车被动安全解析:安全气囊、防撞梁与溃缩吸能区的关键作用
- 变速箱油革新与电池技术突破:智能养护新时代
- 众泰汽车崛起之路
- 液冷技术革新汽车散热:效率提升40%,电池寿命延长30%
- 线控制动:功能安全如何守护你的“电子刹车”?
- 电动化浪潮下:电池技术突破与智能驾驶新纪元
- 汽车ABS与防盗系统核心技术解析及维护指南
- 三元锂电池VS磷酸铁锂:能量密度如何决定电动车续航里程
- 电动化浪潮下:电池技术突破与自动驾驶未来展望
- 智能车载电子系统集成方案
- 交通事故责任认定与汽车保险
- 《汽车钥匙没电怎么办?4个应急启动妙招全解析》
- 智能汽车三大核心传感器:毫米波雷达、激光雷达与超声波技术解析
- 火花塞对汽车引擎性能的影响
- 机油更换周期影响汽车发动机性能
