func DefaultControllerRateLimiter() RateLimiter {
	return NewMaxOfRateLimiter(
		NewItemExponentialFailureRateLimiter(5*time.Millisecond, 1000*time.Second),
		&BucketRateLimiter{Limiter: rate.NewLimiter(rate.Limit(10), 100)},
	)
}
DefaultControllerRateLimiter is a no-arg constructor for a default rate limiter for a workqueue.  It has
both overall and per-item rate limitting.  The overall is a token bucket and the per-item is exponential
package workqueue
import (
	"math"
	"sync"
	"time"
	"golang.org/x/time/rate"
)
type RateLimiter interface {
	When(item interface{}) time.Duration
	Forget(item interface{})
	NumRequeues(item interface{}) int
}