令牌桶算法

令牌桶算法:

1.名詞解釋

令牌:可以理解爲一次性的門禁卡

產生令牌:以恆定的速率產生令牌放入桶中

消耗令牌:每一次請求都會消耗桶中的令牌,大的數據包需要的令牌多一些,小的數據包需要的令牌少一些

令牌桶大小:令牌桶的容量

2.場景

  1. 當請求消耗令牌的速率持續小於產生令牌的速率時,令牌桶在一定時間就會變滿,此時新產生的令牌就無效,不放入令牌桶
  2. 當請求消耗令牌的速率大於令牌產生的速率時,此時就會消耗令牌桶中的存貨(第一種情況也會消耗,但是會及時補充,所以就可以理解爲不消耗)來保持現在的請求速率,當令牌桶存貨消耗爲空時,請求速率就被限制爲令牌的產生速率。

3.優點

在限流的情況下,偶爾的高流量(請求很多)是不可避免的,多餘的請求只有被丟棄。

令牌桶算法有效解決了這一問題,有了令牌桶做緩衝,偶爾的高流量(請求很多)並不會被直接丟棄

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章