- 投稿日:2020-11-13T20:29:43+09:00
現場で使えるQPS制御(Rate Limit) 1秒間にn回の実行に制限する
1秒間に10回実行したい場合の例
https://godoc.org/golang.org/x/time/rate を使う
func main() { limiter := rate.NewLimiter(rate.Limit(10), 1) ctx := context.Background() for i := 0; i < 1000; i++ { if err := limiter.Wait(ctx); err != nil { fmt.Println(err) } fmt.Println(i) } }https://play.golang.org/p/ByAz9VCkGFk
参考
https://qiita.com/lufia/items/29bf1aeb0a0fe69d16f0
https://blog.lufia.org/entry/2016/08/28/000000