awesome-repositories.com
Blog
MCP
awesome-repositories.com

Découvrez les meilleurs dépôts open-source grâce à notre recherche par IA.

ExplorerRecherches sélectionnéesAlternatives open sourceLogiciels auto-hébergésBlogPlan du site
ProjetServeur MCPÀ proposNotre méthodologiePresse
Mentions légalesConfidentialitéConditions d'utilisation
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
resilience4j avatar

resilience4j/resilience4j

0
View on GitHub↗
10,689 stars·1,468 forks·Java·Apache-2.0·9 vues

Resilience4j

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 capabilities cover the provision of fallback responses when primary operations fail and the use of a caching layer to store results of expensive operations. The library utilizes a registry-based system to manage unique resilience pattern instances and an event-driven streaming system for monitoring state transitions and operation results.

Features

  • Fault Tolerance - Provides a comprehensive suite of patterns to handle failures in distributed Java applications and prevent cascading crashes.
  • Circuit Breakers - Implements a circuit breaker that blocks calls to struggling services to allow them to recover.
  • Cascading Failure Preventions - Stops requests from hitting a failing service once a failure threshold is reached to prevent domino effects.
  • Transient Fault Recovery - Implements configurable retry policies with backoff strategies to recover from transient network or service errors.
  • Transient Error Recovery Policies - Ships configurable policies to attempt re-execution of failed operations to mitigate transient errors.
  • Function Decorators - Implements function decorators using Java 8 functional interfaces to intercept and manage execution flow.
  • Bulkheading - Provides bulkhead mechanisms to isolate system resources and prevent cascading failures through concurrency limiting.
  • Rate Limiting - Implements a token-bucket algorithm to cap the number of permitted executions within a specific timeframe.
  • Resilience Pattern Registries - Provides a centralized registry for configuring and monitoring unique resilience pattern instances across backend services.
  • Retry Policies - Provides a retry mechanism that repeats failed operations with configurable wait intervals and backoff algorithms.
  • Backoff Strategies - Implements configurable retry frameworks with advanced backoff policies to handle transient faults.
  • Configuration Registries - Ships a registry-based system to manage unique resilience pattern configurations across different service calls.
  • Circuit Breaking States - Implements a finite state machine to track circuit breaker transitions between closed, open, and half-open states.
  • Concurrency Limiters - Uses semaphores to restrict the number of active simultaneous executions to maintain system stability.
  • Failure Isolation Mechanisms - Uses semaphores and fixed thread pools to isolate system resources and prevent wide-scale exhaustion.
  • Timeout Enforcements - Implements automatic cancellation of tasks that exceed defined time thresholds to ensure system responsiveness.
  • Request Throttling - Limits the frequency and volume of requests to protect backend services from being overwhelmed.
  • Concurrency-Based Dependency Isolation - Prevents a single slow dependency from exhausting system threads using concurrency limits and timeouts.
  • Fallback Mechanisms - Returns alternative results or default values when a primary operation fails or is blocked by a circuit breaker.
  • Event Monitoring Streams - Provides a streaming system that publishes state transitions and execution results for external monitoring.
  • Event Monitoring Systems - Ships an event-driven streaming system that publishes state transitions and execution results for external monitoring.
  • Sliding Window Counters - Tracks operation results using sliding time windows to calculate real-time success and failure rates.
  • Microservices - Fault tolerance library for Java.
  • Distributed Systems - Functional fault tolerance library.
  • Resilience and Fault Tolerance - Fault tolerance library for Java applications.

Historique des stars

Graphique de l'historique des stars pour resilience4j/resilience4jGraphique de l'historique des stars pour resilience4j/resilience4j

Recherche par IA

Explorez plus de dépôts awesome

Décrivez vos besoins en langage naturel — l'IA classe des milliers de projets open source sélectionnés par pertinence.

Start searching with AI

Questions fréquentes

Que fait resilience4j/resilience4j ?

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.

Quelles sont les fonctionnalités principales de resilience4j/resilience4j ?

Les fonctionnalités principales de resilience4j/resilience4j sont : Fault Tolerance, Circuit Breakers, Cascading Failure Preventions, Transient Fault Recovery, Transient Error Recovery Policies, Function Decorators, Bulkheading, Rate Limiting.

Quelles sont les alternatives open-source à resilience4j/resilience4j ?

Les alternatives open-source à resilience4j/resilience4j incluent : jhalterman/failsafe — Failsafe is a JVM resilience library providing a collection of fault tolerance patterns for Java applications. It… netflix/hystrix — Hystrix is a latency and fault tolerance library designed to prevent cascading failures in distributed systems. It… app-vnext/polly — Polly is a resilience and transient-fault-handling library for .NET applications. It provides a framework for defining… doocs/advanced-java — This project is a comprehensive Java backend engineering guide and technical reference focused on high-concurrency… alibaba/sentinel — Sentinel is a microservice flow control framework designed for managing traffic limits, distributed circuit breaking,… failsafe-lib/failsafe — Failsafe is a JVM fault tolerance library and resilience pattern framework. It provides a toolkit for implementing…

Alternatives open source à Resilience4j

Projets open source similaires, classés selon le nombre de fonctionnalités partagées avec Resilience4j.
  • jhalterman/failsafeAvatar de jhalterman

    jhalterman/failsafe

    4,307Voir sur GitHub↗

    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

    Java
    Voir sur GitHub↗4,307
  • netflix/hystrixAvatar de Netflix

    Netflix/Hystrix

    24,461Voir sur GitHub↗

    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

    Java
    Voir sur GitHub↗24,461
  • app-vnext/pollyAvatar de App-vNext

    App-vNext/Polly

    14,191Voir sur GitHub↗

    Polly is a resilience and transient-fault-handling library for .NET applications. It provides a framework for defining and executing stability patterns that manage failures and resource exhaustion during operation execution. The library enables developers to compose complex resilience strategies through a fluent builder pattern, wrapping target operations in functional decorators. These policies intercept execution flow to apply automated recovery mechanisms, such as retries for temporary errors or circuit breakers that isolate unstable components by blocking requests. The framework supports

    C#circuit-breakercircuit-breaker-patterndotnet
    Voir sur GitHub↗14,191
  • doocs/advanced-javaAvatar de doocs

    doocs/advanced-java

    78,987Voir sur GitHub↗

    This project is a comprehensive Java backend engineering guide and technical reference focused on high-concurrency design, distributed systems, and microservices architecture. It provides detailed strategies for decomposing monolithic applications, managing service discovery, and implementing the architectural patterns required for scalable backend environments. The repository distinguishes itself through an extensive collection of big data algorithmic references and database scaling strategies. It covers memory-efficient techniques for analyzing massive datasets, such as Top-K element extrac

    Javaadvanced-javadistributed-search-enginedistributed-systems
    Voir sur GitHub↗78,987
  • Voir les 30 alternatives à Resilience4j→