當前位置:
首頁 > 知識 > 基於令牌桶演算法實現的分散式無鎖限流框架

基於令牌桶演算法實現的分散式無鎖限流框架

SnowJena#

What#

基於令牌桶演算法實現的分散式無鎖限流框架,支持熔斷降級,支持動態配置規則,支持可視化監控,開箱即用。

Noun#

限流#

當我們設計了一個函數,準備上線,這時候這個函數會消耗一些資源,處理上限是1秒服務3000個QPS,但如果實際情況遇到高於3000的QPS該如何解決呢?本項目提供了當QPS超出某個設定的閾值,系統可以通過直接拒絕或阻塞兩種方式來應對,從而起流量控制的作用。

降級#

接觸過Spring Cloud、Service Mesh的同學,都知道熔斷降級的概念。服務之間會有相互依賴關係,例如服務A做到了1秒上萬個QPS,但這時候服務B並無法滿足1秒上萬個QPS,那麼如何保證服務A在高頻調用服務B時,服務B仍能正常工作呢?一種比較常見的情況是,服務A調用服務B時,服務B因無法滿足高頻調用出現響應時間過長的情況,導致服務A也出現響應過長的情況,進而產生連鎖反應影響整個依賴鏈上的所有應用,這時候就需要熔斷和降級的方法。本項目通過設置快速失敗策略來對服務自定義進行熔斷或降級。

塑形#

通常我們遇到的流量具有隨機性、不規則、不受控的特點,但系統的處理能力往往是有限的,我們需要根據系統的處理能力對流量進行塑形,即規則化,從而根據我們的需要來處理流量。本項目本地限流具備流量塑性功能,嚴格控制系統的處理時間間隔。

負載保護#

平時系統運行都沒問題,但遇到大促的時候,發現機器的load非常高,這時候對系統的負載保護就顯得非常重要,以防止雪崩。本項目提供了對應的保護機制,讓系統的入口流量和系統的負載達到一個平衡,保證系統在能力範圍之內處理最多的請求。使系統能夠處理的請求,和允許進來的請求,達到平衡。

Preview#

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 千鋒JAVA開發學院 的精彩文章:

程序員過關斬將-你為什麼還在用存儲過程?
基於大數據的輿情分析系統架構

TAG:千鋒JAVA開發學院 |