pom.xml
<dependency>
<groupId>com.alibaba.csp</groupId>
<artifactId>sentinel-datasource-nacos</artifactId>
</dependency>
yml
#nacos服务提供者
server:
port: 9001
spring:
application:
name: nacos-provider
cloud:
nacos:
discovery:
service: ${spring.application.name}
server-addr: 127.0.0.1:8848 #设置nacos地址
config:
server-addr: 127.0.0.1:8848 #设置nacosconfig地址
file-extension: yaml #指定文件类型
group: TestGroup #分组,默认DEFAULT_GROUP
namespace: 1a8de468-79d1-46d5-9a81-88dc77530e9b #命名空间,默认public(保留空间)
sentinel:
transport:
port: 8719 #加入占用会自动从8719依次+1扫描,直至找到未占用的端口号
dashboard: localhost:8080 #配置sentinel地址
datasource:
ds1: #名字随意
nacos:
server-addr: localhost:8848
dataId: ${spring.application.name}
groupId: DEFAULT_GROUP
data-type: json
rule-type: flow
management:
endpoints:
web:
exposure:
include: "*"
info:
version: "1"
添加Nacos规则
[
{
"resource":"/getA",
"limitApp":"default",
"grade":1,
"count":1,
"strategy":0,
"controlBehavior":0,
"clusterMode":false
}
]
resource: 资源名称
limitApp: 来源应用
grade: 阈值类型,0表示线程,1表示QPS
count: 单机阈值
strategy: 流控模式,0表示直接,1表示关联,2表示链路
controlBehavior: 流控效果,0表示快速失败,1表示Warm Up,2表示排队等待
clusterMode: 是否集群