43、Sentinel 流量防卫兵
1、下载 安装:java -jar sentinel-dashboard-1.7.2.jar 启动Sentinel 访问:localhost:8080 进入Sentinel 控制台
2、创建 cloundalibaba-sentinel-service8014
编写pom.xml
<dependencies>
<dependency>
<groupId>com.alibaba.csp</groupId>
<artifactId>sentinel-datasource-nacos</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
<dependency>
<groupId>com.atguigu.springcloud</groupId>
<artifactId>cloud-api-commons</artifactId>
<version>${project.version}</version>
</dependency>
</dependencies>
编写application.yml 配置文件
spring: application: name: cloudalibaba-sentinel-service cloud: nacos: discovery: server-addr: 8.129.215.115:8848 sentinel: transport: port: 8720 dashboard: localhost:8080 server: port: 8401 feign: sentinel: enabled: true management: endpoints: web: exposure: include: "*"
编写主启动类
@SpringBootApplication @EnableDiscoveryClient public class SentinelApplication8401 { public static void main(String[] args) { SpringApplication.run(SentinelApplication8401.class, args); } }
编写业务类
@RestController public class SentinelController { @GetMapping(value = "testA") public String testA () { return "++++++++++++testA"; } @GetMapping(value = "testB") public String testB () { return "++++++++++++testB"; } }
2、Sentinel的流控规则 QPS 快速失败,默认报:Blocked by Sentinel (flow limiting)

Sentinel 线程数

关联的流控模式

流控预热效果

4、Sentinel 的降级规则
RT


浙公网安备 33010602011771号