背景说明:生产环境中sentinel的使用应该是如下图所示: sentinel控制台编辑规则 推送到 nacos配置中心, 由nacos推送到应用,应用更新内存。
这样的话, 规则持久化在了nacos中,应用重启后,nacos会自动推送给应用,所以规则会一直生效。
1,给应用添加依赖
<dependency> <groupId>com.alibaba.csp</groupId> <artifactId>sentinel-datasource-nacos</artifactId> </dependency>
2,应用配置sentinel数据源
sentinel:
transport:
dashboard: localhost:8080
datasource:
ds1:
nacos:
server-addr: localhost:8848
namespace: c22e5019-0bee-43b1-b80b-fc0b9d847501
dataId: demo
group: DEFAULT_GROUP
data-type: json
rule-type: flow
3,nacos在对应的命名空间创建配置文件,信息与上一步一致,内容为:
[ { "resource": "demo_test", "count": 1, "grade": 1, "limitApp": "default", "strategy": 0, "controlBehavior": 0 } ]
4,在nacos控制台修改配置,刷新sentinel控制台后是更新后的信息,同时会自动推送给应用程序,使配置生效。