流量控制

2017-04-01  本文已影响0人  c84f3109853b

该库是基于令牌桶算法实现的

import "github.com/juju/ratelimit"
var tokenBucket ratelimit.Bucket = nil
func init() {
// func NewBucket(fillInterval time.Duration, capacity int64) *Bucket
// fillInterval令牌填充的时间间隔
// capacity令牌桶的最大容量
tokenBucket = ratelimit.NewBucket(200
time.Millisecond, 20)
}

func Handler() {
available := tokenBucket.TakeAvailable(1)
if available <= 0 {
// 限流处理
}
// handling
}

上一篇 下一篇

猜你喜欢

热点阅读