目标:Sentinel的基本应用 工具:IDEA--2020.1、Sentinel Maven Spring Boot 学习目标:学习基于Sentinel Dashboard来实现流控配置 本次学习的工程下载链接放到文本最后面
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
还有相关的包管理
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring-cloud.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>2.1.1.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
spring:
application:
name: springboot-sentinel-sample
cloud:
sentinel:
transport:
dashboard: 127.0.0.1:7777
spring.cloud.sentinel.transport.dashboard指向的是Sentinel Dashboard的服务器地址(我们这里用的是本地地址),可以实现对留空数据的监控和流控规则的分发。
@RestController
public class DashboardController {
@GetMapping("/dash")
private String dash(){
return "Hello dash";
}
}
我们先不对他进行资源处理,我们到时候直接去Sentinel Dashboard中进行配置。
此时,我们springcloud集成sentinel的配置完成了,我们进入Sentinel Dashboard这个来实现流控规则的处理吧!
成功界面如下
为了演示效果,我就把这个单机阈值设置为1。
下载链接:sentinel-sample1.rar