Spring Cloud Alibaba - Sentinel入門案例(四)(熱點規則 )
回溯
什麼是Sentinel?
Sentinel (分散式系統的流量防衛兵) 是阿里開源的一套用於服務容錯的綜合性解決方案。它以流量
為切入點, 從流量控制、熔斷降級、系統負載保護等多個維度來保護服務的穩定性。
本文主要講解 Sentinel 容錯功能之一 熱點規則 。
正文
環境準備
需要啟動好 Sentinel 控制檯,以及監控一個消費者。
若對這一步有疑慮,請參考SpringCloud Alibaba - Sentinel入門案例(一)。
編寫一個消費者呼叫生產者的方法,並呼叫。
/**
* 注意這裡必須使用 @SentinelResource 這個註解標識,否則熱點規則不生效
* @param name
* @param age
* @param other
* @return
*/
@RequestMapping("/testMessageFunction4")
@SentinelResource("/HotspotRules")
public String testMessageFunction4(String name, Integer age ,String other) {
return name + age +other;
}
簡單使用
熱點引數流控規則是一種更細粒度的流控規則, 它允許將規則具體到引數上。
熱點規則的限流模式只有一種 QPS 模式
- 引數索引:填寫此服務的請求引數下標,預設從0開始。ps(以上面請求為例:name下標是0 / age下標是1 / other下標是2 (有使用過 javassist 的會比較容易理解))。
- 單機閾值:視窗時長中符合條件的次數。
- 統計窗機時長:統計時間。
依照上圖的配置,意思是,當在三秒內,接收到了兩次下標是0(name)的請求,會被降級。
若是沒有傳遞下標為0(name)的引數,則不會限流。
以上證明,測試成功。
複雜使用
ps(高階選項只有當點選編輯的時候才會顯示,而新增的時候是沒有的)。
引數例外項 是對簡單配置的引數索引進行更纖細的配置。
如上,我對下標為0(name)的索引進行了配置,當為胡歌的時候,並且在三秒內請求過一次後,進行降級。
可是當我name為劉亦菲的時候訪問第二次並不會觸發降級,只有當訪問超過兩次才會觸發降級。
注意事項
- 當設定熱點規則的時候,如果滿足了引數例外項,那麼觸發降級。
- 不滿足引數例外項,但卻滿足簡單配置項,也會觸發降級。
- 引數例外項優先順序高於簡單配置項。
相關文章
- [Spring-Cloud-Alibaba] Sentinel 規則持久化SpringCloud持久化
- Spring Cloud Alibaba(四)--Gateway與SentinelSpringCloudGateway
- Spring Cloud Alibaba基礎教程:Sentinel使用Apollo儲存規則SpringCloud
- Spring Cloud Alibaba基礎教程:Sentinel使用Nacos儲存規則SpringCloud
- Spring Cloud Alibaba SentinelSpringCloud
- Spring Cloud Alibaba基礎教程:Sentinel Dashboard同步Apollo儲存規則SpringCloud
- Spring Cloud Alibaba系列——Sentinel降級規則簡介與實踐SpringCloud
- Spring Cloud Alibaba基礎教程:Sentinel Dashboard中修改規則同步到NacosSpringCloud
- Spring-Cloud-Alibaba之SentinelSpringCloud
- Spring Cloud Alibaba(9)---Sentinel概述SpringCloud
- Spring Cloud Alibaba元件之SentinelSpringCloud元件
- Spring Cloud Alibaba入門篇SpringCloud
- Spring Cloud Alibaba教程:Sentinel的使用SpringCloud
- Spring Cloud Alibaba(1)---入門篇SpringCloud
- Spring Cloud Gateway 入門案例SpringCloudGateway
- Spring Cloud Alibaba(11)---Sentinel+Nacos持久化SpringCloud持久化
- Spring Cloud Alibaba基礎教程:Nacos配置的載入規則詳解SpringCloud
- Spring Cloud Alibaba:Sentinel實現熔斷與限流SpringCloud
- Spring Cloud Alibaba | Sentinel: 服務限流基礎篇SpringCloud
- Spring Cloud Alibaba | Sentinel: 服務限流高階篇SpringCloud
- 當Spring Cloud Alibaba Sentinel碰上Spring Cloud Sleuth會擦出怎樣的火花SpringCloud
- Spring Cloud Alibaba系列(六)sentinel的實際應用SpringCloud
- 9.Spring Cloud Alibaba Sentinel流控熔斷元件SpringCloud元件
- Spring Cloud Alibaba Sentinel 主要原理和核心類介紹SpringCloud
- SpringCloud Alibaba系列(三) Sentinel熱點引數限流SpringGCCloud
- 記一次spring cloud alibaba+Sentinel監控整合SpringCloud
- Spring Cloud Alibaba基礎教程:使用Sentinel實現介面限流SpringCloud
- spring cloud alibaba系列(二)Sentinel應用的限流管理SpringCloud
- Spring Cloud Alibaba(10)---Sentinel控制檯搭建+整合SpringCloudAlibabaSpringCloudGC
- Spring Cloud Alibaba入門實踐(三十八)-引入Seata元件SpringCloud元件
- Spring Cloud Alibaba系列(五)sentinel實現服務限流降級SpringCloud
- Spring Cloud Alibaba微服務架構入門最容易理解篇SpringCloud微服務架構
- Spring Cloud Alibaba | Sentinel: 分散式系統的流量防衛兵初探SpringCloud分散式
- Spring Cloud Alibaba生態探索:Dubbo、Nacos及Sentinel的完美結合SpringCloud
- Spring Cloud Alibaba SeataSpringCloud
- 震驚!!!Spring Cloud Alibaba正式入駐Spring Cloud官方孵化器!!!SpringCloud
- 一篇搞定Sentinel-搭建Spring Cloud Alibaba服務元件Sentinel實現服務資源控制SpringCloud元件
- jQuery入門(四)案例jQuery