EnRoute Technical Reference
EnRoute timeout options allow accurately controlling different timeouts involved in traffic routing.
Timeouts can be specified at the Route level, both for
Through a TimeoutPolicy specified in Route, several different types of Timeouts can be configured
This timeout can be used to specify the upstream timeout for the route. This spans between the point at which the entire downstream request (i.e. end-of-stream) has been processed and when the upstream response has been completely processed. A value of 0 will disable the route’s timeout.
Specifies the idle timeout for the route. If not specified, there is no per-route idle timeout. A value of 0 will completely disable the route’s idle timeout
The idle timeout determines the amount of time the request’s stream may be idle.
Cluster Idle Timeout
The idle timeout for connections going through to the service. The idle timeout is defined as the period in which there are no active requests. When the idle timeout is reached the connection will be closed.
To disable idle timeouts explicitly set this to 0.
Cluster Connect Timeout
The timeout for new network connections to hosts. If not set, a default value of 5s will be used
Cluster Max Connection Duration
The maximum duration of a connection. The duration is defined as a period since a connection was established. If not set, there is no max duration. When max_connection_duration is reached and if there are no active streams, the connection will be closed.
Here is an example that sets timeouts for a Route in
GatewayHost. Timeouts for a Route in
ServiceRoute can be set the same way
apiVersion: enroute.saaras.io/v1 kind: GatewayHost labels: app: httpbin name: httpbin-9000-gatewayhost-httpbin-host namespace: httpbin spec: routes: - conditions: - prefix: /get services: - name: httpbin port: 9000 timeoutPolicy: cluster_connect: 10s cluster_idle: 64s cluster_max_duration: 1024s idle: 64s request: 32s virtualhost: fqdn: '*'