SpringCloud-Alibaba-Sentinel-配置持久化策略詳解
前言:
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 } ]
從啟項目請求一下就可瞭
哈哈 我自己都笑瞭
到此這篇關於SpringCloud-Alibaba-Sentinel-配置持久化策略詳解的文章就介紹到這瞭,更多相關SpringCloud-Alibaba-Sentinel-配置持久化內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- Spring Cloud Gateway整合sentinel 實現流控熔斷
- Java的springcloud Sentinel是什麼你知道嗎
- SpringCloud中使用Sentinel實現限流的實戰
- Spring Cloud Alibaba之Sentinel實現熔斷限流功能
- Spring cloud 限流的多種方式