服务熔断

最近更新时间:2025-06-23 17:50:22

我的收藏

熔断场景

Spring Cloud Tencent CircuitBreaker 结合北极星的熔断能力提供了标准的熔断实现,并提供服务级、接口级、节点级三种熔断级别,可以根据需求组合搭配,来实现期望的熔断效果。
本文介绍在本地开发 Java 应用,通过 Spring Cloud 的方式接入北极星,使用服务熔断功能。

前提条件

在开始开发前,请确保您已经下载安装了 Java 和 Maven。

操作步骤

步骤1:引入依赖

1.1 引入 spring cloud tencent 依赖

修改应用根目录下的 pom.xml,添加dependencyManagement
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.tencent.cloud</groupId>
<artifactId>spring-cloud-tencent-dependencies</artifactId>
<version>${version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
注意:
请根据项目 Spring Boot 和 Spring Framework 的版本,选择合适的 Spring Cloud Tencent 版本

1.2 引入 spring cloud tencent starter

说明:
因为熔断能力依赖服务发现能力,所以需要主调方和被调方都引入服务注册与发现依赖。
方式一:通过 spring-cloud-starter-tencent-all 引入 sct 所有 starters。
<dependency>
<groupId>com.tencent.cloud</groupId>
<artifactId>spring-cloud-starter-tencent-all</artifactId>
</dependency>
方式二:只引入spring-cloud-starter-tencent-polaris-circuitbreaker
<dependency>
<groupId>com.tencent.cloud</groupId>
<artifactId>spring-cloud-starter-tencent-polaris-circuitbreaker</artifactId>
</dependency>

步骤2:增加相关配置文件并设置熔断方法

Spring Cloud Tencent 支持 Feign、RestTemplate、Spring Cloud Gateway 三种组件的熔断,并会自动拉取您在北极星上为被调服务配置的熔断规则进行熔断。

步骤3:验证

启动应用并在北极星控制台设置被调服务的服务级熔断规则;请参见服务熔断与主动探测相关文档,相关界面如下:

为了验证熔断能力,被调端至少启动两个实例,一个返回成功,一个返回失败。
测试主调方向被调方发起服务调用,前几个请求会出现往有问题的服务发起调用,当问题数达到您在北极星控制台配置的熔断阈值时,即会触发熔断,主调方不再发起调用,直接返回熔断降级方法。