awesome-repositories.com
Blog
awesome-repositories.com

Descoperă cele mai bune repository-uri open source cu căutare AI.

ExploreazăCăutări recomandateAlternative open-sourceSoftware self-hostedBlogHartă site
ProiectDespreCum realizăm clasamentulPresăServer MCP
LegalConfidențialitateTermeni
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
failsafe-lib avatar

failsafe-lib/failsafe

0
View on GitHub↗
4,307 stele·310 fork-uri·Java·Apache-2.0·3 vizualizărifailsafe.dev↗

Failsafe

Failsafe is a JVM fault tolerance library and resilience pattern framework. It provides a toolkit for implementing circuit breakers, rate limiters, and other stability patterns within Java Virtual Machine applications to prevent cascading failures in distributed systems.

The project is distinguished by its policy-based execution pipeline, which allows for the composition of multiple resilience patterns into a sequential flow. It features a state-machine circuit breaker to manage service recovery and a leaky-bucket rate limiter to control operation frequency.

The library covers a broad range of capability areas, including resource isolation through bulkheads, automated retry logic with fallback provisioning, and execution timeouts. It also provides mechanisms for asynchronous task execution and the management of non-blocking pipelines via completion stages.

Monitoring and observability are integrated through event listeners and metrics exports that track circuit state transitions and execution milestones.

Features

  • Resilience Policy Pipelines - Provides a sequential pipeline of configurable policies to manage retries, timeouts, and circuit breaking.
  • JVM Implementations - Provides a comprehensive fault tolerance library specifically for JVM applications.
  • JVM Fault Tolerance Libraries - Provides a comprehensive toolkit for implementing resilience patterns like retries and circuit breakers within JVM applications.
  • API Resilience - Implements fault tolerance policies to ensure the reliability of asynchronous API communications during service disruptions.
  • Configurable Retry Engines - Repeats failed operations using a configurable engine with maximum attempts, delays, and jitter.
  • Execution Rate Limiters - Controls the frequency and concurrency of operations to prevent system overload and comply with downstream limits.
  • Execution Timeout Management - Implements execution timeouts to forcefully terminate operations that exceed a defined duration.
  • Leaky Bucket Implementations - Implements a leaky-bucket rate limiter to control operation frequency and prevent system overload.
  • Asynchronous Task Execution - Executes tasks in the background using resilience policies to prevent the main execution thread from blocking.
  • Asynchronous Execution Managers - Provides a toolkit for handling non-blocking asynchronous pipelines and completion stages with integrated resilience policies.
  • Cascading Failure Preventions - Provides bulkheads and rate limiting to prevent a failure in one service from triggering a domino effect across distributed systems.
  • Concurrent Call Limits - Limits concurrent calls to specific components via bulkheads to prevent failures from cascading across the system.
  • Circuit Breakers - Stops execution of calls to an unhealthy service after a failure threshold is met to allow for recovery.
  • Concurrent Execution Limiters - Limits the number of simultaneous active calls to prevent resource exhaustion.
  • Fault-Tolerant Fallbacks - Returns default values or computes alternative results when a primary execution fails to complete successfully.
  • Fault Tolerance Implementation - Implements a toolkit of resilience patterns to ensure system continuity during remote service outages.
  • Rate Limiters - Implements application-level rate limiting using token bucket and fixed window algorithms.
  • Bulkheading - Provides bulkheading to limit concurrent calls and prevent single-service failures from exhausting system resources.
  • Resilience Patterns - Provides a framework for applying resilience patterns like circuit breakers, timeouts, and bulkheads.
  • Circuit Breaking States - Implements a state-machine circuit breaker that transitions between open, closed, and half-open states.
  • Event Listeners - Offers programmatic hooks to trigger actions upon task completion, failure, or execution cycles.
  • Policy-Wrapped Stages - Wraps completion stage suppliers to apply fault tolerance policies to asynchronous pipelines.
  • Exception Filters - Specifies which exceptions or business result conditions trigger a resilience policy instead of using global defaults.
  • Future Policy Wrapping - Wraps completion stages and futures to apply fault tolerance policies across non-blocking execution flows.
  • Reactive Client Integrations - Integrates fault tolerance policies into non-blocking, reactive communication flows for asynchronous APIs.
  • Asynchronous Task Cancellation - Interrupts running asynchronous operations by checking cancellation flags or interrupting threads to prevent wasted resources.
  • Manual State Overrides - Allows forcing the circuit breaker into open or closed states independently of automatic policy triggers.
  • Event-Driven Hook Systems - Triggers registered listeners during policy state transitions and execution milestones for real-time health visibility.
  • Fault Tolerance Policies - Manages execution state by recording results to determine if an operation requires a retry based on policies.
  • Custom Resilience Policies - Enables the creation of specialized fault tolerance behaviors through custom policy and executor implementations.
  • Request Timeout Management - Enforces maximum durations for remote network operations to prevent indefinite blocking and resource exhaustion.
  • Reusable Policy Configurations - Resilience4j saves specific combinations of resilience policies to apply them consistently across different parts of an application.
  • Asynchronous Schedulers - Defines thread pools and custom schedulers to manage the timing and execution of asynchronous tasks.
  • Metrics Exporters - Exposes a monitoring interface to export performance and state metrics for fault tolerance policies.
  • Retry Metrics Monitoring - Provides telemetry and notifications for retry attempt failures and scheduling events.

Istoric stele

Graficul istoricului de stele pentru failsafe-lib/failsafeGraficul istoricului de stele pentru failsafe-lib/failsafe

Căutare AI

Explorează mai multe repository-uri excelente

Descrie ce ai nevoie în limbaj simplu — AI-ul sortează mii de proiecte open source selectate în funcție de relevanță.

Start searching with AI

Alternative open-source pentru Failsafe

Proiecte open-source similare, clasificate după numărul de funcționalități comune cu Failsafe.
  • jhalterman/failsafeAvatar jhalterman

    jhalterman/failsafe

    4,307Vezi pe 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
    Vezi pe GitHub↗4,307
  • afex/hystrix-goAvatar afex

    afex/hystrix-go

    4,418Vezi pe GitHub↗

    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

    Go
    Vezi pe GitHub↗4,418
  • netflix/hystrixAvatar Netflix

    Netflix/Hystrix

    24,461Vezi pe 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
    Vezi pe GitHub↗24,461
  • resilience4j/resilience4jAvatar resilience4j

    resilience4j/resilience4j

    10,689Vezi pe GitHub↗

    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

    Javabulkheadcircuitbreakermetrics
    Vezi pe GitHub↗10,689
Vezi toate cele 30 alternative pentru Failsafe→

Întrebări frecvente

Ce face failsafe-lib/failsafe?

Failsafe is a JVM fault tolerance library and resilience pattern framework. It provides a toolkit for implementing circuit breakers, rate limiters, and other stability patterns within Java Virtual Machine applications to prevent cascading failures in distributed systems.

Care sunt principalele funcționalități ale failsafe-lib/failsafe?

Principalele funcționalități ale failsafe-lib/failsafe sunt: Resilience Policy Pipelines, JVM Implementations, JVM Fault Tolerance Libraries, API Resilience, Configurable Retry Engines, Execution Rate Limiters, Execution Timeout Management, Leaky Bucket Implementations.

Care sunt câteva alternative open-source pentru failsafe-lib/failsafe?

Alternativele open-source pentru failsafe-lib/failsafe includ: 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…