func NewTokenBucketLimiter(tb *ratelimit.Bucket) endpoint.Middleware {
	return NewErroringLimiter(NewAllower(tb))
}
NewTokenBucketLimiter returns an endpoint.Middleware that acts as a rate
limiter based on a token-bucket algorithm. Requests that would exceed the
maximum request rate are simply rejected with an error.
package ratelimit
import (
	"context"
	"errors"
	"time"
	"github.com/juju/ratelimit"
	"github.com/go-kit/kit/endpoint"
)
var ErrLimited = errors.New("rate limit exceeded")