搭建nacos
依赖
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
<version>2.1.1.RELEASE</version>
</dependency>
配置文件
支持feign,资源名格式为httpmethod:protocol://requesturl
# 支持feign
feign:
sentinel:
enabled: true
spring:
cloud:
sentinel:
transport:
dashboard: localhost:8890
port: 8719
eager: true
datasource:
flow_key:
nacos:
server-addr: ${nacos_server}
groupId: DEFAULT_GROUP
dataId: ${spring.application.name}-${spring.profiles.active}-sentinel
rule-type: flow
degrade_key:
nacos:
server-addr: ${nacos_server}
groupId: DEFAULT_GROUP
dataId: ${spring.application.name}-${spring.profiles.active}-sentinel
rule-type: degrade
flow_key和degrade_key可以任意取名。
规则格式如下:
- flow
[
{
"resource": "/api",
"limitApp": "default",
"grade": 1,
"count": 5,
"strategy": 0,
"controlBehavior": 0,
"clusterMode": false
}
]
resource:资源名,即限流规则的作用对象
count: 限流阈值
grade: 限流阈值类型(QPS 或并发线程数)
limitApp: 流控针对的调用来源,若为 default 则不区分调用来源
strategy: 调用关系限流策略
controlBehavior: 流量控制效果(直接拒绝、Warm Up、匀速排队)
- degrade