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

Entdecke die besten Open-Source-Repositories mit KI-gestützter Suche.

EntdeckenKuratierte SuchenOpen-Source-AlternativenSelf-hosted SoftwareBlogSitemap
ProjektÜber unsRanking-MethodikPresseMCP-Server
RechtlichesDatenschutzAGB
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
jhalterman avatar

jhalterman/failsafe

0
View on GitHub↗
4,307 Stars·310 Forks·Java·Apache-2.0·4 Aufrufefailsafe.dev↗

Failsafe

Failsafe ist eine JVM-Resilience-Bibliothek, die eine Sammlung von Fehlertoleranz-Mustern für Java-Anwendungen bereitstellt. Sie fungiert als Wrapper für asynchrone Ausführungen, der Aufgaben im Hintergrund ausführt und Futures zurückgibt, um Thread-Blockaden zu verhindern.

Die Bibliothek ermöglicht die Komposition von Resilience-Policies, wodurch mehrere Muster zu einer sequenziellen Pipeline gestapelt werden können. Sie enthält spezifische Implementierungen für Circuit Breaking zur Vermeidung von Systemüberlastungen, Rate Limiting zur Steuerung des Datenverkehrs sowie ein Framework zur Verwaltung von Retries und Fallbacks.

Die Funktionsbereiche umfassen Traffic-Management durch Concurrency- und Rate-Limits, die Wiederherstellung bei Netzwerkfehlern für HTTP-Aufrufe sowie Observability durch ereignisgesteuerte Überwachung von Zustandsänderungen und Ausführungsfehlern. Das System steuert zudem die Ausführungsdauer durch Timeouts, um zu verhindern, dass Prozesse unendlich lange hängen bleiben.

Features

  • Resilience and Fault Tolerance - Provides a comprehensive library of resilience and fault tolerance patterns for building stable JVM applications.
  • Fault Tolerance Patterns - Provides a comprehensive set of fault tolerance patterns including circuit breakers and retries for JVM applications.
  • Traffic Resilience Policies - Offers composable policies that apply circuit breakers, rate limiters, and retries to protect services from overload.
  • API Resilience - Improves the reliability of API communications by applying resilience policies like retries and circuit breakers.
  • Execution Time Limits - Terminates tasks after a specified duration to prevent processes from hanging indefinitely.
  • Token Bucket Implementations - Controls execution frequency using a token bucket algorithm with configurable refill rates.
  • Resilience Policy Pipelines - Implements a sequential pipeline for layering multiple resilience patterns like retries and circuit breakers.
  • Asynchronous Future APIs - Provides non-blocking handles for tracking the status of long-running asynchronous network operations.
  • Future-Based Result Handling - Provides mechanisms for managing and retrieving results from asynchronous operations using futures to prevent blocking.
  • Asynchronous Request Execution - Enables non-blocking network requests using awaitable patterns and futures.
  • Asynchronous Task Retries - Automatically re-attempts failed asynchronous operations using configurable delays and maximum attempt limits.
  • Asynchronous Operation Execution - Provides non-blocking execution of tasks using futures to handle asynchronous results without stalling the main thread.
  • Asynchronous Wrappers - Acts as a logic layer that runs fault-tolerant tasks in the background and returns futures to prevent thread blocking.
  • Cascading Failure Preventions - Prevents cascading failures by temporarily disabling execution when a failure threshold is met.
  • Circuit Breakers - Implements circuit breakers to prevent cascading failures by stopping execution when a service is detected as unhealthy.
  • Asynchronous Task Execution - Executes long-running operations asynchronously via durable handles and futures to prevent thread blocking.
  • Concurrent Execution Limiters - Constrains the number of simultaneously active asynchronous tasks using semaphore-like logic to prevent system overload.
  • Fault-Tolerant Fallbacks - Provides default or alternative results when a primary service call fails or times out.
  • Fallback Strategies - Provides alternative results when primary executions fail through a configurable fallback framework.
  • Fault Tolerance - Implements systems for managing failures and ensuring resilience in distributed JVM applications.
  • Rate Limiters - Restricts the number of operations per time period using leaky bucket or fixed window strategies to control traffic flow.
  • Retry Policies - Provides a framework for re-executing failed operations based on defined attempt limits and time intervals.
  • Circuit Breaking States - Implements a state-machine circuit breaker that transitions between open, closed, and half-open states based on failure thresholds.
  • Resilience Execution Wrappers - Wraps logic in reusable policy objects to apply fault tolerance patterns like retries and timeouts.
  • HTTP Resilience Wrappers - Composes resilience policies around HTTP calls to handle failures via automated retries or circuit breakers.
  • Rate Limiting Algorithms - Implements traffic regulation algorithms such as Token Bucket and Sliding Window.
  • Request Cancellations - Allows immediate termination of active network requests when the associated execution is cancelled.
  • Resilience State Listeners - Uses listener interfaces to provide observability into state changes, retries, and rate limit failures.
  • Concurrency Semaphores - Limits the number of simultaneous operations using semaphores to prevent system overload.
  • Request-Level Recovery - Implements recovery logic to automate the retry of failed HTTP calls and maintain consistency.
  • State Transition Event Triggers - Triggers callbacks when a circuit breaker transitions between open, closed, and half-open states.
  • Execution Queues - Holds execution attempts in a queue until a permit becomes available or a maximum wait time is reached.
  • Request Rate Limiting - Manages the frequency of outgoing requests to avoid overloading downstream services.
  • Execution Event Listeners - Notifies the system through listeners whenever an execution attempt through the rate limiter succeeds or fails.
  • Retry Metrics Monitoring - Provides observability tools for tracking the performance and frequency of retry attempts.
  • Data Structures and Memory - Lightweight library for handling failures.
  • Distributed Systems - Failure handling with retries and circuit breakers.

Star-Verlauf

Star-Verlauf für jhalterman/failsafeStar-Verlauf für jhalterman/failsafe

KI-Suche

Entdecke weitere awesome Repositories

Beschreibe in einfachen Worten, was du brauchst — die KI bewertet tausende kuratierte Open-Source-Projekte nach Relevanz.

Start searching with AI

Open-Source-Alternativen zu Failsafe

Ähnliche Open-Source-Projekte, sortiert nach der Anzahl der gemeinsamen Funktionen mit Failsafe.
  • failsafe-lib/failsafeAvatar von failsafe-lib

    failsafe-lib/failsafe

    4,307Auf GitHub ansehen↗

    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

    Javabulkheadcircuit-breakerfallback
    Auf GitHub ansehen↗4,307
  • afex/hystrix-goAvatar von afex

    afex/hystrix-go

    4,418Auf GitHub ansehen↗

    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
    Auf GitHub ansehen↗4,418
  • resilience4j/resilience4jAvatar von resilience4j

    resilience4j/resilience4j

    10,689Auf GitHub ansehen↗

    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
    Auf GitHub ansehen↗10,689
  • netflix/hystrixAvatar von Netflix

    Netflix/Hystrix

    24,461Auf GitHub ansehen↗

    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
    Auf GitHub ansehen↗24,461
Alle 30 Alternativen zu Failsafe anzeigen→

Häufig gestellte Fragen

Was macht jhalterman/failsafe?

Failsafe ist eine JVM-Resilience-Bibliothek, die eine Sammlung von Fehlertoleranz-Mustern für Java-Anwendungen bereitstellt. Sie fungiert als Wrapper für asynchrone Ausführungen, der Aufgaben im Hintergrund ausführt und Futures zurückgibt, um Thread-Blockaden zu verhindern.

Was sind die Hauptfunktionen von jhalterman/failsafe?

Die Hauptfunktionen von jhalterman/failsafe sind: Resilience and Fault Tolerance, Fault Tolerance Patterns, Traffic Resilience Policies, API Resilience, Execution Time Limits, Token Bucket Implementations, Resilience Policy Pipelines, Asynchronous Future APIs.

Welche Open-Source-Alternativen gibt es zu jhalterman/failsafe?

Open-Source-Alternativen zu jhalterman/failsafe sind unter anderem: failsafe-lib/failsafe — Failsafe is a JVM fault tolerance library and resilience pattern framework. It provides a toolkit for implementing… afex/hystrix-go — This is a fault tolerance library for Go designed to prevent cascading failures by isolating unhealthy remote services… resilience4j/resilience4j — Resilience4j is a fault tolerance library for Java 8 applications designed to handle failures in distributed systems.… netflix/hystrix — Hystrix is a latency and fault tolerance library designed to prevent cascading failures in distributed systems. It… easegress-io/easegress — Easegress is a cloud-native traffic orchestration platform that functions as a multi-protocol API gateway and service… sindresorhus/p-queue — p-queue is a JavaScript promise queue and concurrent task scheduler designed to limit the number of active…