[[circuitBreaker-eip]]
= CircuitBreaker EIP

The Circuit Breaker pattern is inspired by the real-world electrical circuit breaker,
which is used to detect excessive current draw and fail fast to protect electrical equipment.
The software-based circuit breaker works on the same notion, by encapsulating
the operation and monitoring it for failures. The Circuit Breaker pattern operates in
three states, as illustrated in the following figure:

image::eip/CircuitBreaker.png[image]

The states are as follows:

* *Closed* — When operating successfully.
* *Open* — When failure is detected and the breaker opens to short-circuit and fail
  fast. In this state, the circuit breaker avoids invoking the protected operation and
  avoids putting additional load on the struggling service.
* *Half Open* — After a short period in the open state, an operation is attempted to
  see whether it can complete successfully, and depending on the outcome, it will
  transfer to either open or closed state.

== Example

Below is an example route showing a circuit breaker endpoint that protects against slow operation by falling back to the in-lined fallback route. By default the timeout request is just *1000ms* so the HTTP endpoint has to be fairly quick to succeed.
[source,java]
----
from("direct:start")
    .circuitBreaker()
        .to("http://fooservice.com/slow")
    .onFallback()
        .transform().constant("Fallback message")
    .end()
    .to("mock:result");
----

And in XML DSL:
[source,xml]
----
<camelContext xmlns="http://camel.apache.org/schema/spring">
  <route>
    <from uri="direct:start"/>
    <circuitBreaker>
      <to uri="http://fooservice.com/slow"/>
      <onFallback>
        <transform>
          <constant>Fallback message</constant>
        </transform>
      </onFallback>
    </circuitBreaker>
    <to uri="mock:result"/>
  </route>
</camelContext>
----

== CircuitBreaker Implementations

Camel provides two implementations of this pattern:

* xref:hystrix-eip.adoc[Hystrix] - Using the Netflix Hystrix implementation
* xref:resilience4j-eip.adoc[Resilience4j] - Using the Resilience4j implementation

