大香蕉综合在线观看视频-日本在线观看免费福利-欧美激情一级欧美精品性-综合激情丁香久久狠狠

好房網

網站首頁 行業(yè)快訊 > 正文

今日更新限流是什么意思(帶你了解什么是限流)

2022-05-05 20:03:15 行業(yè)快訊 來源:
導讀 目前大家應該是對限流是什么意思(帶你了解什么是限流)比較感興趣的,所以今天好房網小編CC就來為大家整理了一些關于限流是什么意思(帶你
目前大家應該是對限流是什么意思(帶你了解什么是限流)比較感興趣的,所以今天好房網小編CC就來為大家整理了一些關于限流是什么意思(帶你了解什么是限流)方面的相關知識來分享給大家,希望大家會喜歡哦。

限流是什么意思(帶你了解什么是限流)

之前在學習的時候也接觸不到高并發(fā)/大流量這種東西,所以限流當然是沒接觸過的了。在看公司項目的時候,發(fā)現有用到限流(RateLimiter),順帶了解一波。

一、限流基礎知識介紹

為啥要限流,相信就不用我多說了。

比如,我周末去飯店吃飯,但是人太多了,我只能去前臺拿個號,等號碼到我的時候才能進飯店吃飯。如果飯店沒有限流怎么辦?一到飯點,人都往里沖,而飯店又處理不了這么多人流,很容易就出事故(飯店塞滿了人,無路可走。飯店的工作人員崩潰了,處理不過來)

回到代碼世界上也是一樣的,服務器能處理的請求數有限,如果請求量特別大,我們需要做限流(要么就讓請求等待,要么就把請求給扔了)

在代碼世界上,限流有兩種比較常見的算法:

令牌桶算法

漏桶算法

1 什么是漏桶算法

比如,現在我有一個桶子,綠色那塊是我能裝水的容量,如果超過我能裝下的容量,再往桶子里邊倒水,就會溢出來(限流):

帶你了解什么是限流

我們目前可以知道的是:

桶子的容量是固定的(是圖上綠色那塊)

超出了桶子的容量就會溢出(要么等待,要么直接丟棄)

OK,現在我們在桶子里挖個洞,讓水可以從洞子里邊流出來:

帶你了解什么是限流

桶子的洞口的大小是固定的,所以水從洞口流出來的速率也是固定的。

所以總結下來算法所需的參數就兩個:

桶子的容量

漏水的速率

漏桶算法有兩種實現:

不允許突發(fā)流量的情況:如果進水的速率大于出水的速率,直接舍棄掉多余的水。比如,我的桶子容量能裝100L,但我的桶子出水速率是10L/s。此時,如果現在有100L/s的水進來,我只讓10L的水進到桶子,其余的都限流。(限定了請求的速度)

允許一定的突發(fā)流量情況:我的桶子能裝100L,如果現在我的桶子是空的,那么這100L的水都能進我的桶子。我以10L/s的速率將這些水流出,如果還有100L的水進來,只能限流了。

經過上面的分析我們就知道:

漏桶算法可以平滑網絡上的突發(fā)流量(因為漏水的速率是固定的)

2 什么是令牌桶算法

現在我有另外一個桶子,這個桶子不用來裝水,用來裝令牌:

帶你了解什么是限流

令牌會一定的速率扔進桶子里邊,比如我1秒扔10個令牌進桶子:


版權說明: 本文由用戶上傳,如有侵權請聯(lián)系刪除!


標簽: