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
·
cenkalti avatar

cenkalti/backoff

0
View on GitHub↗
4,021 stars·215 forks·Go·MIT·6 vues

Backoff

This is a Go library providing a framework for managing repetitive task execution and implementing exponential backoff strategies. It serves as a concurrency tool designed to prevent system overload during failures by retrying operations with increasing delays.

The project implements a retry strategy framework that manages attempt limits and timeouts during unstable network or system calls. It specifically provides an implementation of the exponential backoff algorithm to handle failing operations.

The library covers reliability patterns for mitigating transient failures and service outages, including the management of API request retries and inter-service communication in microservices. It handles transient error recovery and distributed system resilience through automated re-execution of failing tasks.

Features

  • Go Concurrency Utilities - Provides advanced concurrency primitives for managing repetitive task execution and synchronization in Go.
  • Go Implementations - Provides a Go-specific implementation of the exponential backoff algorithm for failed operations.
  • Transient Fault Recovery - Provides automated strategies to recover from transient faults through re-execution and backoff.
  • Resilient Networking Patterns - Implements stability patterns using retries to handle temporary network failures or service outages.
  • Backoff Strategies - Provides an exponential backoff algorithm to calculate increasing delays between retry attempts.
  • Retry Strategies - Offers a framework for managing retry logic, attempt limits, and timeouts during system calls.
  • Automated Async Retries - Automatically re-executes failing functions based on a defined number of attempts and backoff strategy.
  • Request Retries - Implements strategies for automatically re-attempting failed network requests to external services.
  • Retry Strategy Interfaces - Decouples the retry logic from specific wait algorithms using interfaces to allow custom delay implementations.
  • Function Execution Wrappers - Encapsulates target operations within closures to manage their repeated execution and error tracking.
  • Inter-Service Communication Reliability - Improves the reliability of inter-service communication in Go by adding smart retry logic to network requests.
  • Retry State Tracking - Tracks the number of failed attempts to enforce maximum retry limits.
  • Algorithms - Exponential backoff algorithm.

Historique des stars

Graphique de l'historique des stars pour cenkalti/backoffGraphique de l'historique des stars pour cenkalti/backoff

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

Alternatives open source à Backoff

Projets open source similaires, classés selon le nombre de fonctionnalités partagées avec Backoff.
  • go-resty/restyAvatar de go-resty

    go-resty/resty

    11,704Voir sur GitHub↗

    Resty is a high-level HTTP client library for Go designed for consuming REST services. It provides a streamlined interface for executing network requests, managing server-sent event streams, and automatically mapping JSON and XML responses into data structures. The library includes built-in mechanisms for service resilience and traffic management, such as circuit breakers to prevent cascading failures, token-bucket rate limiting, and automated request retries with exponential backoff. It also features client-side load balancing to distribute outgoing traffic across multiple base URLs and requ

    Gobackoffcircuit-breakercurl-command
    Voir sur GitHub↗11,704
  • resilience4j/resilience4jAvatar de resilience4j

    resilience4j/resilience4j

    10,689Voir sur 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
    Voir sur GitHub↗10,689
  • avast/retry-goAvatar de avast

    avast/retry-go

    2,929Voir sur GitHub↗

    Retry-go is a utility library for Go that automates the re-execution of failing code blocks and operations until they succeed or exhaust configured attempt limits. It provides mechanisms for handling transient failures, capturing both computed results and final errors from repeatedly executed functions. The library supports configurable retry timing through fixed intervals, exponential backoff strategies, and randomized jitter to control recovery speed and prevent overwhelming recovering services. It also includes error filtering rules that trigger retries on specific error conditions while h

    Gogogolanghacktoberfest
    Voir sur GitHub↗2,929
  • sindresorhus/gotAvatar de sindresorhus

    sindresorhus/got

    14,915Voir sur GitHub↗

    Got is a promise-based HTTP request library for Node.js that supports HTTP/2 and streaming. It provides a system for making network requests with a focus on asynchronous control flow and type-safe API client development. The library is distinguished by its middleware-based request lifecycle, which uses interceptors and plugins to modify request options and response data. It includes a configurable automatic retry mechanism with backoff strategies, a built-in HTTP response cache, and a cookie-jar system for maintaining persistent sessions. Broad capabilities cover data handling through duplex

    TypeScripthttphttp-clienthttp-request
    Voir sur GitHub↗14,915
Voir les 30 alternatives à Backoff→

Questions fréquentes

Que fait cenkalti/backoff ?

This is a Go library providing a framework for managing repetitive task execution and implementing exponential backoff strategies. It serves as a concurrency tool designed to prevent system overload during failures by retrying operations with increasing delays.

Quelles sont les fonctionnalités principales de cenkalti/backoff ?

Les fonctionnalités principales de cenkalti/backoff sont : Go Concurrency Utilities, Go Implementations, Transient Fault Recovery, Resilient Networking Patterns, Backoff Strategies, Retry Strategies, Automated Async Retries, Request Retries.

Quelles sont les alternatives open-source à cenkalti/backoff ?

Les alternatives open-source à cenkalti/backoff incluent : go-resty/resty — Resty is a high-level HTTP client library for Go designed for consuming REST services. It provides a streamlined… resilience4j/resilience4j — Resilience4j is a fault tolerance library for Java 8 applications designed to handle failures in distributed systems.… avast/retry-go — Retry-go is a utility library for Go that automates the re-execution of failing code blocks and operations until they… sindresorhus/got — Got is a promise-based HTTP request library for Node.js that supports HTTP/2 and streaming. It provides a system for… spring-projects/spring-retry — Spring Retry is a Java library that provides exception handling, automated operation reattempts, backoff strategies,… app-vnext/polly — Polly is a resilience and transient-fault-handling library for .NET applications. It provides a framework for defining…