Timeouts#
Envoy Control provides a simple and fine-grained way to configure timeouts between services. Using
Envoy's metadata
section you can provide additional configuration to the Control Plane. The information provided
in metadata.proxy_settings
section is interpreted by Control Plane and it will create a
corresponding configuration for Envoy
. This means that Envoy Control is stateless but in the
future there will be an override mechanism that uses a database to save the configuration.
An example configuration:
metadata:
proxy_settings:
outgoing:
dependencies:
- service: "*"
timeoutPolicy:
idleTimeout: 20s
requestTimeout: 30s
- service: "service-a"
timeoutPolicy:
idleTimeout: 40s
requestTimeout: 50s
In the outgoing
section this configuration defines timeoutPolicy
:
idleTimeout
- The idle timeout is defined as the period in which there are no active requests.requestTimeout
- The amount of time that Envoy will wait for the entire request to be received.
More over we have option to indicate service-a
or use *
which will be default properties for all
other services. Last but not least if you don't provide this configuration it will use default
properties:
envoy-control.envoy.snapshot.egress.common-http.idle-timeout
envoy-control.envoy.snapshot.egress.common-http.request-timeout