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呢? 若需要了解,可以看看之前的文章哦!
若發現錯誤,謝謝指正!!!