1)gateway添加sentinel相关依赖
<spring-cloud.version>2021.0.1</spring-cloud.version>
<spring-cloud-alibaba.version>2021.0.1.0</spring-cloud-alibaba.version><dependencies><!--gateway--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-gateway</artifactId></dependency><!--sentinel--><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-sentinel</artifactId><version>2021.0.1.0</version></dependency><!--sentinel-gateway--><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-alibaba-sentinel-gateway</artifactId><version>2021.0.1.0</version></dependency></dependencies>
2)gateway添加相关的配置
spring:cloud:gateway:routes:- id: user-serviceuri: http://localhost:8081predicates:- Path=/user/*sentinel:transport:dashboard: localhost:8888
3)启动gateway
4)下载sentinel控制台并启动
下载地址:https://github.com/alibaba/Sentinel/releases
启动:java -Dserver.port=8888 -jar sentinel-dashboard-1.8.6.jar
5)sentinel控制台添加流控规则
先访问一下网关:http://localhost:8080/user/1
添加流控规则:
6)jmeter压测
10个并发请求,只有5个会成功:
7)API分组限流
新建API分组
添加流控规则
测试代码下载:
https://github.com/xjs1919/enumdemo/tree/master/gateway-sentinel-demo