亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

GS Admin限流功能怎么使用

發布時間:2022-12-01 17:34:48 來源:億速云 閱讀:122 作者:iii 欄目:編程語言

今天小編給大家分享一下GS Admin限流功能怎么使用的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。

倉庫

giee: gitee.com/kevn/gsadmin/tree/master
github: github.com/sonhineboy/gsadmin

說明

在日常網站的運營過程種,當并發數達到我們服務的閾值的時候,我們可以通過限流的方式保證服務可用性。

常見的限流方法:

  1. 使用帶緩沖的 chann,當 chan 塞滿以后,拒絕服務或者給一個友好的提示或跳轉到一個友好的頁面等。

  2. 計數器,在 10 秒內只接受 100 請求,當超過 100 請求后,拒絕服務,當超過 10 秒后,計數歸零,重新接受請求。

  3. 使用 httpserver 的頻率限制,無需自己實現。

  4. 令牌桶算法:以恒定的速度往令牌桶中放入令牌,當有請求過來則從令牌桶中獲取令牌進行后續請求,當獲取令牌失敗后則進行友好處理。

  GS Admin限流功能怎么使用

  5. 漏桶算法:請求先進入到漏桶里,而漏桶以固定的速率處理請求,當請求數量超過漏桶的容量時,將超出的請求進行友好處理,不適合突發請求場景。

  GS Admin限流功能怎么使用

  上面兩種令牌的算法區別:漏桶算法,能夠強行限制傳輸速率,令牌桶算法:能夠限制平均傳輸速率,允許某種突發情況。

GS Admin 限流方式

GS Admin 采用 golang 內部有一個非常好用的限流器 time/rate 位于 golang.org/x/time/rate 具體的用法可以產靠官方文檔。GS Admin 已經封裝了 web 中間件只需要在配置文件配置想應得參數就可以了

rate:
  limit: 15 //每秒產生得令牌數量
  burst: 2 //令牌得大小

經過測試如果超過了限流,中間件就會觸發,代碼如下

func Limiter() gin.HandlerFunc {
    return func(c *gin.Context) {
        if global.Limiter.Allow() == false {
            global.Response{}.Failed(c, "當前請求過快,請稍后再試!")
            c.Abort()
            return
        }
        c.Next()
    }
}

以上就是“GS Admin限流功能怎么使用”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

上饶市| 丽江市| 汉寿县| 宁陕县| 梨树县| 河北区| 策勒县| 银川市| 长寿区| 新余市| 察隅县| 青州市| 蓝田县| 宜黄县| 丽江市| 额尔古纳市| 丘北县| 黑河市| 丰城市| 南川市| 永寿县| 贵阳市| 榆林市| 泸定县| 昌吉市| 女性| 甘孜| 孝义市| 绿春县| 金川县| 仙居县| 红桥区| 武穴市| 邮箱| 鲁山县| 厦门市| 晋中市| 凤冈县| 金湖县| 县级市| 连城县|