Sentinel持久化
- 导依赖
- 改yml
- nacos配置
- tip
大家在用sentinel的时候不知道有没有注意到,我们每次重启服务,sentinel中为其配置的一些规则就消失了,我们在学习的时候,一两个简单配置还可以自己再重新配置下,但如果是大型项目呢?每次服务重启更新等等,怎么办???这里就需要使sentinel配置持久化了(我们这里选用直接配置在nacos中) 步骤如下:
导依赖
除了默认的nacos和sentinel依赖,我们还需导入一个依赖如图:
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<!-- spring cloud alibaba sentinel -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
</dependency>
<!-- 后续做持久化用到 -->
<dependency>
<groupId>com.alibaba.csp</groupId>
<artifactId>sentinel-datasource-nacos</artifactId>
</dependency>
改yml
除了基础的注册到nacos和被sentinel监听,我们还需增加配置如图:
datasource:
ds1:
nacos:
server-addr: localhost:8848
dataId: cloudalibaba-sentinel-service
groupId: DEFAULT_GROUP
data-type: json
rule-type: flow
nacos配置
配置好后,点击发布。over,收工…接下来你每次重新启动服务,访问该资源路径就能看到已配好的规则了。
具体的配置内容解释如下
resource: 资源名称
limitApp: 来源应用
grade: 阈值类型,0 表示线程数,1 表示 QPS
count:单机阈值
strategy:流控模式,0 表示直接,1表示关联,2表示链路
controlBehavior: 流控效果,0 表示快速失败 ,1 表示 Warm Up ,2 表示排队等待
clusterMode: 是否集群
tip
没成功的小伙伴看看单词是否拼写对,或者格式是否对齐等等。还有一个建议就是你的nacos是否需要配置持久化进mysql呢? 若需要了解,可以看看之前的文章哦!
若发现错误,谢谢指正!!!