背景說明:生產環境中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控制台后是更新后的信息,同時會自動推送給應用程序,使配置生效。