经过前面的sentinel简单的学习,已经大概了解了sentinel的各种功能,还差一个就是sentinel规则的持久化,我们发现只要重启应用,sentinel里面的规则又不见了,那怎么办呢?
一、环境准备
八、springCloudAlibaba-整合sentinel
二、sentinel整合nacos持久化
1、pom.xml引入
<dependency><groupId>com.alibaba.csp</groupId><artifactId>sentinel-datasource-nacos</artifactId></dependency>
2、nacos控制台新增配置
名称这里为order-sentinel-flow-rule,格式为json
[{"resource":"/order/get","controlBehavior": 0,"count": 2,"grade": 1,"limitApp": "default","strategy": 0}]
上面的配置大家应该都很清楚,其实就我我们用代码模式编写的各种属性
3、配置文件加入配置
server:port: 8089spring:application:name: order-sentinelcloud:sentinel:transport:dashboard: localhost:8084web-context-unify: false #默认将调用链路收敛,要用链路流控,这里需要改为falsedatasource:flow-rule:nacos:server-addr: 127.0.0.1:8848username: nacospassword: nacosdataId: order-sentinel-flow-rulerule-type: flow
主要是加上
datasource:flow-rule:nacos:server-addr: 127.0.0.1:8848username: nacospassword: nacosdataId: order-sentinel-flow-rulerule-type: flow
4、启动测试

可以看到有规则了,测试规则也是生效的。
三、遗留问题
1、在sentinel修改规则后,nacos控制台没有变化
2、nacos控制台的规则设置也太麻烦了
3、后续如果要方便点肯定是要修改sentinel相关源码才行
sentinel就学到这里先,下面开启seata,分布式事务的学习!
