Sentinel控制台配置熱點規則,是一種特殊的流控規則,支持對特定參數和參數的值限流。
熱點參數限流會統計參數中的熱點參數,並根據配置的限流閥值與模式,對包含熱點參數的資源調用進行限流。熱點參數限制可以看做是一種特殊的流量控制,僅對包含熱點參數的資源調用生效。
Sentinel利用LRU策略統計最近最常訪問的熱點參數,結合令牌桶算法來進行參數級別的流控。熱點參數限流支持集群模式。
適用於存在熱點參數(某些參數QPS很高),並希望提升API可用性的場景。
注意:參數必須是基本類型或者String。
相關源碼:com.alibaba.csp.sentinel.slots.block.flow.param.ParamFlowChecker#passCheck()
如果在@SentinelResource中,不添加blockHandler,如果達到單機閥值,則直接拋出錯誤頁面。而添加后達到單機閥值,則返回自定義的值。
參數例外值
當熱點參數請求QPS達到閥值,且參數值不是例外項,則限流處理;參數值是參數例外中的值,就限流閥值則是其設置的閥值。