环境说明:
Sentinel-1.6.0
Nacos-1.0.0
1.pom.xml配置
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.5.RELEASE</version>
</parent>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring-cloud.version}</version>
<type>war</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>0.2.2.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<!-- Sentinel依赖 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
</dependency>
<!-- Sentinel-nacos -->
<dependency>
<groupId>com.alibaba.csp</groupId>
<artifactId>sentinel-datasource-nacos</artifactId>
</dependency>
2.controller配置
package com.zit.sentinel.controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.alibaba.csp.sentinel.annotation.SentinelResource;
@RestController
@RequestMapping("webservice/sentinel")
public class SentinelController {
@GetMapping("/hello")
@SentinelResource(value="hello")// 添加注解
public String hi(@RequestParam(value = "name", defaultValue = "nacos", required = false) String name) {
return "hello" + name;
}
}
3.application.properties配置
## sentinel配置
# HttpServer地址
spring.cloud.sentinel.transport.port=8719
# SentinelDashBoard地址(通过jar启动)
spring.cloud.sentinel.transport.dashboard=192.168.182.1:8080
# sentinel datasource nacos
spring.cloud.sentinel.datasource.ds.nacos.server-addr=localhost:8848
spring.cloud.sentinel.datasource.ds.nacos.data-id=${spring.application.name}-sentinel
spring.cloud.sentinel.datasource.ds.nacos.group-id=DEFAULT_GROUP
spring.cloud.sentinel.datasource.ds.nacos.rule-type=flow
4.Nacos配置
5.启动Sentinel Dashboard
java -jar sentinel-dashboard-1.6.0.jar
6. hello>1次/秒
出现限流信息
代码见:https://github.com/o99o/CAC_SpringBoot_Cloud_Nacos_Producer_Sentinel.git