.. _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.