vertx-circuit-breaker
vertx-circuit-breaker copied to clipboard
A circuit breaker for Vert.x
= Vert.x Circuit Breaker
image:https://github.com/vert-x3/vertx-circuit-breaker/workflows/CI/badge.svg?branch=master["Build Status", link="https://github.com/vert-x3/vertx-circuit-breaker/actions?query=workflow%3ACI"]
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:
- http://vertx.io/docs/vertx-circuit-breaker/java/[Java documentation]
- http://vertx.io/docs/vertx-circuit-breaker/js/[JavaScript documentation]
- http://vertx.io/docs/vertx-circuit-breaker/kotlin/[Kotlin documentation]
- http://vertx.io/docs/vertx-circuit-breaker/groovy/[Groovy documentation]
- http://vertx.io/docs/vertx-circuit-breaker/ruby/[Ruby documentation]