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!

推薦閱讀: