Failsafe is a JVM resilience library providing a collection of fault tolerance patterns for Java applications. It functions as an asynchronous execution wrapper that runs tasks in the background and returns futures to prevent thread blocking. The library allows for the composition of resilience policies, enabling multiple patterns to be stacked into a sequential pipeline. It includes specific implementations for circuit breaking to prevent system overload, rate limiting to control traffic flow, and a framework for managing retries and fallbacks. Capability areas cover traffic management thro
This is a fault tolerance library for Go designed to prevent cascading failures by isolating unhealthy remote services using the circuit breaker pattern. It serves as a resilience tool for managing request timeouts, defining fallback logic, and protecting remote systems from overloading. The library differentiates itself through the integration of a health metrics exporter that streams real-time performance and status data of remote connections to external monitoring tools. It combines this observability with a circuit breaker state machine that tracks success and failure rates to block calls
Hystrix is a latency and fault tolerance library designed to prevent cascading failures in distributed systems. It functions as a circuit breaker implementation that monitors failure thresholds and opens circuits to isolate remote calls when downstream services degrade. The project distinguishes itself by providing multiple isolation mechanisms, utilizing dedicated thread pools and semaphores to ensure that latency in one dependency does not saturate the entire system. It also features a request collapsing and batching engine that groups concurrent calls into single executions to reduce the t
Resilience4j is a fault tolerance library for Java 8 applications designed to handle failures in distributed systems. It provides a comprehensive suite of resilience patterns including resource isolation, request throttling, retries, and timeouts. The project implements specific stability mechanisms such as circuit breakers to prevent cascading failures, bulkheads for system resource isolation, and rate limiters to cap execution rates. It also includes a retry framework with backoff policies and timeout enforcement to manage transient faults and maximum execution durations. Additional capabi
Failsafe est une bibliothèque de tolérance aux pannes et un framework de modèles de résilience pour la JVM. Elle fournit une boîte à outils pour implémenter des disjoncteurs (circuit breakers), des limiteurs de débit (rate limiters) et d'autres modèles de stabilité au sein des applications Java pour prévenir les défaillances en cascade dans les systèmes distribués.
Les fonctionnalités principales de failsafe-lib/failsafe sont : Resilience Policy Pipelines, JVM Implementations, JVM Fault Tolerance Libraries, API Resilience, Configurable Retry Engines, Execution Rate Limiters, Execution Timeout Management, Leaky Bucket Implementations.
Les alternatives open-source à failsafe-lib/failsafe incluent : jhalterman/failsafe — Failsafe is a JVM resilience library providing a collection of fault tolerance patterns for Java applications. It… afex/hystrix-go — This is a fault tolerance library for Go designed to prevent cascading failures by isolating unhealthy remote services… netflix/hystrix — Hystrix is a latency and fault tolerance library designed to prevent cascading failures in distributed systems. It… resilience4j/resilience4j — Resilience4j is a fault tolerance library for Java 8 applications designed to handle failures in distributed systems.… linkedin/school-of-sre — This project is a comprehensive educational resource and curriculum focused on site reliability engineering,… jd/tenacity — Tenacity is a Python retry library and fault tolerance framework designed to automatically re-execute failing…