91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

松溪县| 宁德市| 天柱县| 民勤县| 武隆县| 赤峰市| 达州市| 九江县| 梅州市| 漾濞| 德阳市| 昌邑市| 高邑县| 蕲春县| 北京市| 东海县| 浏阳市| 紫金县| 贞丰县| 新化县| 新营市| 峨边| 应用必备| 吉林省| 呼伦贝尔市| 富宁县| 定南县| 奉化市| 克拉玛依市| 清苑县| 万州区| 龙泉市| 沿河| 兰考县| 昌黎县| 华坪县| 利津县| 九龙城区| 兰溪市| 万盛区| 新营市|