Simple limiter package for Go.
$ go get github.com/FuWahCheng/limiter
- Choose suitable limiter implement
- New limiter instance with limit config
- Use it according to
Limiter
interface function
- CounterLimiter
- SlidingWindowLimiter
- LeakyBucketLimiter
- TokenBucketLimiter
Example:
func main() {
l := CounterLimiterNew(10, time.Second)
for true {
if l.Take() {
log.Println("take")
} else {
log.Println("not take")
}
time.Sleep(time.Millisecond * 200)
}
}