今天小編給大家分享一下GS Admin限流功能怎么使用的相關(guān)知識(shí)點(diǎn),內(nèi)容詳細(xì),邏輯清晰,相信大部分人都還太了解這方面的知識(shí),所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。
創(chuàng)新互聯(lián)長(zhǎng)期為近千家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺(tái),與合作伙伴共同營(yíng)造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為肥鄉(xiāng)企業(yè)提供專業(yè)的成都做網(wǎng)站、網(wǎng)站設(shè)計(jì),肥鄉(xiāng)網(wǎng)站改版等技術(shù)服務(wù)。擁有十余年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。
倉(cāng)庫(kù)
giee: gitee.com/kevn/gsadmin/tree/master
github: github.com/sonhineboy/gsadmin
說明
在日常網(wǎng)站的運(yùn)營(yíng)過程種,當(dāng)并發(fā)數(shù)達(dá)到我們服務(wù)的閾值的時(shí)候,我們可以通過限流的方式保證服務(wù)可用性。
常見的限流方法:
1. 使用帶緩沖的 chann,當(dāng) chan 塞滿以后,拒絕服務(wù)或者給一個(gè)友好的提示或跳轉(zhuǎn)到一個(gè)友好的頁(yè)面等。
2. 計(jì)數(shù)器,在 10 秒內(nèi)只接受 100 請(qǐng)求,當(dāng)超過 100 請(qǐng)求后,拒絕服務(wù),當(dāng)超過 10 秒后,計(jì)數(shù)歸零,重新接受請(qǐng)求。
3. 使用 httpserver 的頻率限制,無需自己實(shí)現(xiàn)。
4. 令牌桶算法:以恒定的速度往令牌桶中放入令牌,當(dāng)有請(qǐng)求過來則從令牌桶中獲取令牌進(jìn)行后續(xù)請(qǐng)求,當(dāng)獲取令牌失敗后則進(jìn)行友好處理。
5. 漏桶算法:請(qǐng)求先進(jìn)入到漏桶里,而漏桶以固定的速率處理請(qǐng)求,當(dāng)請(qǐng)求數(shù)量超過漏桶的容量時(shí),將超出的請(qǐng)求進(jìn)行友好處理,不適合突發(fā)請(qǐng)求場(chǎng)景。
上面兩種令牌的算法區(qū)別:漏桶算法,能夠強(qiáng)行限制傳輸速率,令牌桶算法:能夠限制平均傳輸速率,允許某種突發(fā)情況。
GS Admin 限流方式
GS Admin 采用 golang 內(nèi)部有一個(gè)非常好用的限流器 time/rate 位于 golang.org/x/time/rate 具體的用法可以產(chǎn)靠官方文檔。GS Admin 已經(jīng)封裝了 web 中間件只需要在配置文件配置想應(yīng)得參數(shù)就可以了
rate:
limit: 15 //每秒產(chǎn)生得令牌數(shù)量
burst: 2 //令牌得大小
經(jīng)過測(cè)試如果超過了限流,中間件就會(huì)觸發(fā),代碼如下
func Limiter() gin.HandlerFunc {
return func(c *gin.Context) {
if global.Limiter.Allow() == false {
global.Response{}.Failed(c, "當(dāng)前請(qǐng)求過快,請(qǐng)稍后再試!")
c.Abort()
return
}
c.Next()
}
}
以上就是“GS Admin限流功能怎么使用”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會(huì)為大家更新不同的知識(shí),如果還想學(xué)習(xí)更多的知識(shí),請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
當(dāng)前題目:GSAdmin限流功能怎么使用
網(wǎng)頁(yè)URL:http://m.newbst.com/article4/jhsjoe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供移動(dòng)網(wǎng)站建設(shè)、網(wǎng)站策劃、建站公司、網(wǎng)站營(yíng)銷、網(wǎng)站導(dǎo)航、關(guān)鍵詞優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
營(yíng)銷型網(wǎng)站建設(shè)知識(shí)