天天看點

SpringCloudAlibaba之Sentinel(一)- 實作容錯(中)系統規則詳解【使用、計算規則、源碼】授權規則代碼配置規則Sentinel與控制台通信原理剖析控制台相關配置項Sentinel API詳解

降級 - 聊聊斷路器三态

◆ Sentinel的斷路器沒有半開狀态

◆ 相關Issue :

https://github.com/alibaba/Sentinel/pull/553#issuecomment-478318196

pullreq(已關閉)

https://github.com/alibaba/Sentinel/pull/525

系統規則詳解【使用、計算規則、源碼】

系統-Load

◆ 當系統load1 ( 1分鐘的load )超過門檻值,且并發線程數超過系統容量時觸發,建議設定為CPU核心數* 2.5( 僅對Linux/Unix-like機器生效, Win無效)

SpringCloudAlibaba之Sentinel(一)- 實作容錯(中)系統規則詳解【使用、計算規則、源碼】授權規則代碼配置規則Sentinel與控制台通信原理剖析控制台相關配置項Sentinel API詳解

系統容量 = maxQps * minRt

● maxQps :秒級統計出來的最大QPS

● minRt :秒級統計出來的最小響應時間

● 相關源碼:

com.alibaba.csp.sentinel.slots.system.SystemRuleManager#checkBbr

SpringCloudAlibaba之Sentinel(一)- 實作容錯(中)系統規則詳解【使用、計算規則、源碼】授權規則代碼配置規則Sentinel與控制台通信原理剖析控制台相關配置項Sentinel API詳解

系統-RT、線程數、入口QPS

◆ RT : 所有入口流量的平均RT達到門檻值觸發

◆ 線程數:所有入口流量的并發線程數達到門檻值觸發

◆入口QPS : 所有入口流量的QPS達到門檻值觸發

系統 - 相關源碼

  • com.alibaba.csp.sentinel.slots.system.SystemRuleManager#checkSystem
  • SpringCloudAlibaba之Sentinel(一)- 實作容錯(中)系統規則詳解【使用、計算規則、源碼】授權規則代碼配置規則Sentinel與控制台通信原理剖析控制台相關配置項Sentinel API詳解

授權規則

SpringCloudAlibaba之Sentinel(一)- 實作容錯(中)系統規則詳解【使用、計算規則、源碼】授權規則代碼配置規則Sentinel與控制台通信原理剖析控制台相關配置項Sentinel API詳解

代碼配置規則

  • 推薦閱讀 Alibaba Sentinel 規則參數總結
  • SpringCloudAlibaba之Sentinel(一)- 實作容錯(中)系統規則詳解【使用、計算規則、源碼】授權規則代碼配置規則Sentinel與控制台通信原理剖析控制台相關配置項Sentinel API詳解

Sentinel與控制台通信原理剖析

SpringCloudAlibaba之Sentinel(一)- 實作容錯(中)系統規則詳解【使用、計算規則、源碼】授權規則代碼配置規則Sentinel與控制台通信原理剖析控制台相關配置項Sentinel API詳解

控制台如何擷取到微服務的監控資訊

用控制台配置規則時,控制台是如何将規則發送到各個微服務的呢?

◆ 注冊/心跳發送

● com.alibaba.csp.sentinel.transport.heartbeat.SimpleHttpHeartbeatSender

◆通信API

● com.alibaba.csp. sentinel.command.CommandHandler的實作類

控制台相關配置項

應用端連接配接控制台配置項

spring.cloud.sentinel.transport:
# 指定控制台的位址
dashboard: localhost:8080
# 指定和控制台通信的IP
# 如不配置,會自動選擇一個IP注冊
client-ip: 127 .0.0.1
# 指定和控制台通信的端口,預設值8719
# 如不設定,會自動從8719開始掃描,依次+1,直到找到未被占用的端口
port: 8719
# 心跳發送周期,預設值null
# 但在SimpleHttpHeartbeatSender會用預設值10秒
heartbeat- interval-ms: 10000      

控制台配置項

SpringCloudAlibaba之Sentinel(一)- 實作容錯(中)系統規則詳解【使用、計算規則、源碼】授權規則代碼配置規則Sentinel與控制台通信原理剖析控制台相關配置項Sentinel API詳解

Sentinel API詳解

  • 修改配置
  • SpringCloudAlibaba之Sentinel(一)- 實作容錯(中)系統規則詳解【使用、計算規則、源碼】授權規則代碼配置規則Sentinel與控制台通信原理剖析控制台相關配置項Sentinel API詳解
  • TestController
  • SpringCloudAlibaba之Sentinel(一)- 實作容錯(中)系統規則詳解【使用、計算規則、源碼】授權規則代碼配置規則Sentinel與控制台通信原理剖析控制台相關配置項Sentinel API詳解
  • 核心就是如圖示的三個API,不過這樣用起來很麻煩,後面就有簡單方式哦!

繼續閱讀