.. _envoy_api_file_envoy/api/v2/cluster/circuit_breaker.proto: Circuit breakers ================ .. _envoy_api_msg_cluster.CircuitBreakers: cluster.CircuitBreakers ----------------------- `[cluster.CircuitBreakers proto] <https://github.com/envoyproxy/envoy/blob/master/api/envoy/api/v2/cluster/circuit_breaker.proto#L18>`_ :ref:`Circuit breaking<arch_overview_circuit_break>` settings can be specified individually for each defined priority. .. code-block:: json { "thresholds": [] } .. _envoy_api_field_cluster.CircuitBreakers.thresholds: thresholds (:ref:`cluster.CircuitBreakers.Thresholds <envoy_api_msg_cluster.CircuitBreakers.Thresholds>`) If multiple :ref:`Thresholds<envoy_api_msg_cluster.CircuitBreakers.Thresholds>` are defined with the same :ref:`RoutingPriority<envoy_api_enum_core.RoutingPriority>`, the first one in the list is used. If no Thresholds is defined for a given :ref:`RoutingPriority<envoy_api_enum_core.RoutingPriority>`, the default values are used. .. _envoy_api_msg_cluster.CircuitBreakers.Thresholds: cluster.CircuitBreakers.Thresholds ---------------------------------- `[cluster.CircuitBreakers.Thresholds proto] <https://github.com/envoyproxy/envoy/blob/master/api/envoy/api/v2/cluster/circuit_breaker.proto#L22>`_ A Thresholds defines CircuitBreaker settings for a :ref:`RoutingPriority<envoy_api_enum_core.RoutingPriority>`. .. code-block:: json { "priority": "...", "max_connections": "{...}", "max_pending_requests": "{...}", "max_requests": "{...}", "max_retries": "{...}" } .. _envoy_api_field_cluster.CircuitBreakers.Thresholds.priority: priority (:ref:`core.RoutingPriority <envoy_api_enum_core.RoutingPriority>`) The :ref:`RoutingPriority<envoy_api_enum_core.RoutingPriority>` the specified CircuitBreaker settings apply to. .. _envoy_api_field_cluster.CircuitBreakers.Thresholds.max_connections: max_connections (`UInt32Value <https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#uint32value>`_) The maximum number of connections that Envoy will make to the upstream cluster. If not specified, the default is 1024. .. _envoy_api_field_cluster.CircuitBreakers.Thresholds.max_pending_requests: max_pending_requests (`UInt32Value <https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#uint32value>`_) The maximum number of pending requests that Envoy will allow to the upstream cluster. If not specified, the default is 1024. .. _envoy_api_field_cluster.CircuitBreakers.Thresholds.max_requests: max_requests (`UInt32Value <https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#uint32value>`_) The maximum number of parallel requests that Envoy will make to the upstream cluster. If not specified, the default is 1024. .. _envoy_api_field_cluster.CircuitBreakers.Thresholds.max_retries: max_retries (`UInt32Value <https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#uint32value>`_) The maximum number of parallel retries that Envoy will allow to the upstream cluster. If not specified, the default is 3.