vertx-circuit-breaker

A circuit breaker for Vert.x

APACHE-2.0 License

Stars
63
Committers
20

= Vert.x Circuit Breaker

image:https://github.com/vert-x3/vertx-circuit-breaker/actions/workflows/ci-5.x.yml/badge.svg["Build Status (5.x)",link="https://github.com/vert-x3/vertx-circuit-breaker/actions/workflows/ci-5.x.yml"] image:https://github.com/vert-x3/vertx-circuit-breaker/actions/workflows/ci-4.x.yml/badge.svg["Build Status (4.x)",link="https://github.com/vert-x3/vertx-circuit-breaker/actions/workflows/ci-4.x.yml"]

Vert.x Circuit Breaker is an implementation of the Circuit Breaker pattern for Vert.x. More details on this pattern on https://en.wikipedia.org/wiki/Circuit_breaker_design_pattern

It keeps track of the number of failures and opens the circuit when a threshold is reached. Optionally, a fallback is executed.

Supported failures are:

  • failures reported by your code
  • exception thrown by your code
  • uncompleted futures (timeout)

Operations guarded by a circuit breaker are intended to be non-blocking and asynchronous in order to benefit from the Vert.x execution model.

== Using the Vert.x Circuit Breaker

To use the Vert.x Circuit Breaker, add the following dependency to the dependencies section of your build descriptor:

  • Maven (in your pom.xml):

  • Gradle (in your build.gradle file):

compile 'io.vertx:vertx-circuit-breaker:$VERSION'

== Using the circuit breaker

The manual is available from: