一、熔断场景
这篇说说在本地开发 Java 应用,通过 Spring Cloud 的方式接入北极星,使用服务熔断功能。
二、前提条件
在开始开发前,请确保你已经下载安装了 Java 和 Maven。
三、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:验证
启动应用并在北极星控制台设置被调服务的服务级熔断规则;请参见服务熔断与主动探测相关文档,相关界面如下:
·为了验证熔断能力,被调端至少启动两个实例,一个返回成功,一个返回失败。
·测试主调方向被调方发起服务调用,前几个请求会出现往有问题的服务发起调用,当问题数达到你在北极星控制台配置的熔断阈值时,即会触发熔断,主调方不再发起调用,直接返回熔断降级方法。