Throttling and Timeout Properties
Throttling and Timeout Properties describes the properties for configuring SBA Gateway throttling and timeouts.
Property | Description |
---|---|
gateway.timeouts.idleTimeout | The idle timeout, in milliseconds, after which the channel is closed. A value of 0 causes the channel to stay open indefinitely. The default value is 0. |
gateway.timeouts.requestParseTimeout | The maximum allowed time, in milliseconds, for reading an HTTP request. The default value is -1. |
gateway.timeouts.noRequestTimeout | The amount of time, in milliseconds, the connection can be idle with no current requests before it is closed. The default value is 60000. |
gateway.throttling.maxRatePerConsumer | The maximum number of requests per time interval allowed from each consumer, by source IP address. Requests exceeding this rate receive a 429 Too Many Requests response. The default value is 0. |
gateway.throttling.maxRate | The maximum number of all requests per time interval. The default value is 0. |
gateway.throttling.timeIntervalMillis | The time interval, in milliseconds, used for
maxRate and maxRatePerConsumer
calculations. The default value is 1000. |
gateway.throttling.maxRateUrlWhiteList | List of URLs to exclude from maxRate
calculations. The default list is the
following:
|
The following gateway.yaml excerpt shows the common configuration default values (where defaults exist) for these properties:
timeouts:
# The idle timeout in milliseconds after which the channel will be closed.
# (zero is unlimited)
idleTimeout: 0
# The maximum allowed time of reading HTTP request in milliseconds.
# (-1 to disable)
requestParseTimeout: -1
# The amount of time the connection can be idle with no current requests before it is closed
# (-1 to disable)
noRequestTimeout: 60000
throttling:
# Max rate (requests per time interval) allowed from
# each consumer (by source IP). Requests exceeding this rate will
# be responded to with a 429 Too Many Requests.
maxRatePerConsumer: 0
# Max total rate (requests per time interval).
maxRate: 0
# Time interval used for maxRate calculations (milliseconds)
timeIntervalMillis: 1000
# List of URLs that should be excluded from maxRate calculations
maxRateUrlWhiteList:
- "/healthcheck"
- "/readycheck"
- "/version"