Spring cloud Sentinel介绍和安装
Sentinel 是阿里巴巴开源的面向分布式服务架构的流量控制组件,主要以流量为切入点,提供多维度的流量控制、熔断降级、系统负载保护等功能。
Spring Cloud Alibaba Sentinel 是 Spring Cloud 的一个扩展项目,目的是集成 Sentinel 进入 Spring Cloud 体系,通过 Sentinel 提供的多维度流量控制功能,保护你的服务稳定性。
Sentinel 的安装分为以下几个步骤:
- 依赖引入:在项目的pom.xml中引入Sentinel的依赖。
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
</dependency>
- 配置文件:在application.properties或application.yml中配置Sentinel的服务端地址。
# 应用名称
spring.application.name=sentinel-demo
# Sentinel 控制台配置
spring.cloud.sentinel.transport.dashboard=127.0.0.1:8080
spring.cloud.sentinel.transport.port=8719
- 启动类:确保启动类上有@EnableSentinel注解。
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import com.alibaba.csp.sentinel.annotation.EnableSentinel;
@EnableSentinel
@SpringBootApplication
public class SentinelDemoApplication {
public static void main(String[] args) {
SpringApplication.run(SentinelDemoApplication.class, args);
}
}
- 使用注解:在需要流控的方法上使用@SentinelResource注解,并指定资源名称。
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 "Hello, Sentinel";
}
public String handleException(BlockException ex) {
return "Error: " + ex.getMessage();
}
}
以上步骤完成了 Sentinel 的安装和基本使用。在实际使用中,你还需要启动 Sentinel 控制台,并配置规则。Sentinel 控制台是 Sentinel 提供的一个管理控制台,用来实时查看接入 Sentinel 的服务的资源情况以及调整规则。
安装 Sentinel 控制台的步骤如下:
- 下载 Sentinel 控制台的jar包。
- 通过java -jar启动jar包。
- 访问默认端口8080,使用Sentinel控制台。
安装控制台的具体步骤可以参考 Sentinel 官方文档。
评论已关闭