Java之 Spring Cloud 微服务搭建Sentinel (第二个阶段)【SpringBoot项目实现商品服务器端是调用】
在Spring Boot项目中集成Sentinel的步骤如下:
- 在
pom.xml
中添加Sentinel依赖:
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
</dependency>
- 在
application.yml
中配置Sentinel服务端地址:
spring:
cloud:
sentinel:
transport:
dashboard: 127.0.0.1:8080
# 默认8719端口,如果和其他服务端口冲突可以修改
port: 8719
- 在Spring Boot启动类上添加@EnableSentinel注解启用Sentinel功能:
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import com.alibaba.csp.sentinel.annotation.EnableSentinel;
@EnableSentinel
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
- 使用Sentinel注解保护方法:
import com.alibaba.csp.sentinel.annotation.SentinelResource;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class TestController {
@GetMapping("/test")
@SentinelResource(value = "test", blockHandler = "handleException")
public String test() {
return "Test Sentinel";
}
public String handleException(BlockException ex) {
return "Error: " + ex.getMessage();
}
}
以上步骤可以帮助你在Spring Boot项目中集成Sentinel,并通过注解的方式来定义资源,并指定blockHandler处理异常。这样你就可以在不需要修改原有代码逻辑的情况下,通过Sentinel来管理限流和降级。
评论已关闭