Clarify rate limiter expressions in addsvc example (#943)
Rate limiting examples might be a bit confusing when Every
method is used https://github.com/go-kit/kit/issues/698.
One could expect to see throttling expressed as
a number of requests per unit of time whereas another would see it
as an interval between requests.
Marsel Mavletkulov authored 4 years ago
Peter Bourgon committed 4 years ago
34 | 34 | var sumEndpoint endpoint.Endpoint |
35 | 35 | { |
36 | 36 | sumEndpoint = MakeSumEndpoint(svc) |
37 | // Sum is limited to 1 request per second with burst of 1 request. | |
38 | // Note, rate is defined as a time interval between requests. | |
37 | 39 | sumEndpoint = ratelimit.NewErroringLimiter(rate.NewLimiter(rate.Every(time.Second), 1))(sumEndpoint) |
38 | 40 | sumEndpoint = circuitbreaker.Gobreaker(gobreaker.NewCircuitBreaker(gobreaker.Settings{}))(sumEndpoint) |
39 | 41 | sumEndpoint = opentracing.TraceServer(otTracer, "Sum")(sumEndpoint) |
46 | 48 | var concatEndpoint endpoint.Endpoint |
47 | 49 | { |
48 | 50 | concatEndpoint = MakeConcatEndpoint(svc) |
49 | concatEndpoint = ratelimit.NewErroringLimiter(rate.NewLimiter(rate.Every(time.Second), 100))(concatEndpoint) | |
51 | // Concat is limited to 1 request per second with burst of 100 requests. | |
52 | // Note, rate is defined as a number of requests per second. | |
53 | concatEndpoint = ratelimit.NewErroringLimiter(rate.NewLimiter(rate.Limit(1), 100))(concatEndpoint) | |
50 | 54 | concatEndpoint = circuitbreaker.Gobreaker(gobreaker.NewCircuitBreaker(gobreaker.Settings{}))(concatEndpoint) |
51 | 55 | concatEndpoint = opentracing.TraceServer(otTracer, "Concat")(concatEndpoint) |
52 | 56 | if zipkinTracer != nil { |