前言:
Sentinel的如果沒有配置持久化的話配置一些 流控 和服務降級 從啟專案就會置空所以需要持久化的操作
動態規則擴展
拉模式:客戶端主動向某個規則管理中心定期輪詢拉取規則,這個規則中心可以是 RDBMS、檔案,甚至是 VCS 等,這樣做的方式是簡單,缺點是無法及時獲取變更;
推模式:規則中心統一推送,客戶端通過注冊監聽器的方式時刻監聽變化,比如使用 Nacos、Zookeeper 等配置中心,這種方式有更好的實時性和一致性保證
案例用Nacos
步奏:
pom
添加nacos 對sentinel管控的依賴
<dependency>
<groupId>com.alibaba.csp</groupId>
<artifactId>sentinel-datasource-nacos</artifactId>
</dependency>
yml
server:
port: 8092
spring:
application:
name: sentinel-service
cloud:
nacos:
discovery:
server-addr: localhost:8848 #Nacos服務注冊中心地址
sentinel:
transport:
dashboard: localhost:8080 #配置Sentinel dashboard地址
port: 8719
datasource:
ds1:
nacos:
# nacos連接地址
server-addr: localhost:8848
# 讀取組態檔的名稱 sentinel-8092
dataId: sentinel-8092
# nacos連接的分組默認
groupId: DEFAULT_GROUP
# 讀取培訓檔案型別為json
data-type: json
rule-type: flow
新版yml組態檔上面因組態檔錯位 啟動報錯 特此 修改 ,2020年12月22日特此記錄
server:
port: 8092
spring:
application:
name: sentinel-service
cloud:
nacos:
discovery:
server-addr: localhost:8848 #Nacos服務注冊中心地址
sentinel:
transport:
dashboard: localhost:8080 #配置Sentinel dashboard地址
port: 8719
datasource:
ds1:
nacos:
# nacos連接地址
server-addr: localhost:8848
# 讀取組態檔的名稱 sentinel-8092
dataId: sentinel-8092
# nacos連接的分組默認
groupId: DEFAULT_GROUP
# 讀取培訓檔案型別為json
data-type: json
rule-type: flow
management:
endpoints:
web:
exposure:
include: '*'
配置nacos
json
resource:資源名稱
limitApp:來源應用
grade:閾值型別,0表示執行緒數,1表示QPS
count:單機閾值
strategy:流控模式,0表示直接,1表示關聯,2表示鏈路
controlBehavior:流控效果,0表示快速失敗,1表示Warm Up,2表示排隊等待
clusterMode:是否集群
[
{
"resource": "/select/test",
"limitApp": "default",
"grade": 1,
"count": 1,
"strategy": 0,
"controlBehavior": 0,
"clusterMode": false
}
]


從啟專案請求一下就可了


哈哈 我自己都笑了

轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/239555.html
標籤:其他
