sentinel不支持连接开启安全认证的nacos,所以要把nacos的安全认证关掉
nacos.core.auth.enabled=false
如果注册中心和配置中心想用安全认证,那么可以安装2个nacos一个用作配置中心注册中心,一个用来做sentinel的持久化
引入pom
2.7.13//springboot版本
<spring-cloud-alibaba.version>2021.0.5.0</spring-cloud-alibaba.version>//alibaba cloud版本
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
</dependency>
相关配置:
spring:
application:
name: user-service
cloud:
sentinel:
transport:
dashboard: localhost:8858
# port: 8080 #控制台如果监控的多个微服务,端口从8791开始生成
datasource:
r1:
nacos:
server-addr: localhost:8848
data-id: ${spring.application.name}-sentinel.json
rule-type: flow #流控
r2:
nacos:
server-addr: localhost:8848
data-id: ${spring.application.name}-sentinel-degrade.json
rule-type: degrade #熔断
nacos配置
user-service-sentinel.json
[
{
"resource": "/api/user/v1/userInfo",
"limitApp": "default",
"grade": 1,
"count": 2,
"strategy": 0,
"controlBehavior": 0,
"clusterMode": false
}
]
user-service-sentinel-degrade.json
[
{
"count":500,
"grade":0,
"limitApp":"default",
"minRequestAmount":5,
"resource":"/api/user/v1/userInfo",
"slowRatioThreshold":1,
"statIntervalMs":1000,
"timeWindow":100
}
]
注意点
在sentinel控制台修改配置后是不生效的,想修改配置只能在nacos上面改对应的配置文件