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
ProjektMCP-ServerÜber unsRanking-MethodikPresse
RechtlichesDatenschutzAGB
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·

Flow control patterns

Ranking aktualisiert am 27. Juli 2026

For flow control patterns, the strongest matches are app-vnext/polly (Polly is a robust), jd/tenacity (Tenacity is a Python retry library that provides robust) and resilience4j/resilience4j (Resilience4j is a fault tolerance and flow control library). jhalterman/failsafe and alibaba/sentinel round out the shortlist. Each is ranked by relevance to your query, popularity and recent activity.

Explore top open-source flow control libraries for concurrency, rate limiting, and retries. Compare GitHub stars, activity, and features to find the right…

Flow control patterns

Finde die besten Repos mit KI.Wir suchen mit KI nach den am besten passenden Repositories.
  • app-vnext/pollyAvatar von App-vNext

    App-vNext/Polly

    14,191Auf GitHub ansehen↗

    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

    Polly is a robust .NET resilience and transient-fault-handling library that implements retries, circuit breaking, rate limiting, and timeout strategies using a fluent builder pattern.

    C#Circuit BreakersResiliency PatternsRetry Strategies
    Auf GitHub ansehen↗14,191
  • jd/tenacityAvatar von jd

    jd/tenacity

    8,375Auf GitHub ansehen↗

    Tenacity is a Python retry library and fault tolerance framework designed to automatically re-execute failing functions based on custom conditions, wait intervals, and stop criteria. It provides a mechanism to apply retry logic to both synchronous functions and asynchronous coroutines. The library implements exponential backoff to increase delays between retries, helping to manage transient network failures and prevent the overloading of services. Its capabilities cover the definition of retry conditions based on exception types or return values, as well as the enforcement of duration limits

    Tenacity is a Python retry library that provides robust automatic retry mechanisms, exponential backoff, and asynchronous coroutine support, though it focuses specifically on retries rather than general rate limiting or full backpressure handling.

    PythonRetry LibrariesRetry PoliciesRetry Policies
    Auf GitHub ansehen↗8,375
  • 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

    Resilience4j is a fault tolerance and flow control library for Java that provides circuit breaking, rate limiting, retries, bulkheads, and concurrency control to manage failures in distributed systems.

    JavaCircuit BreakersRetry Policies
    Auf GitHub ansehen↗10,689
  • jhalterman/failsafeAvatar von jhalterman

    jhalterman/failsafe

    4,307Auf GitHub ansehen↗

    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

    Failsafe is a Java resilience library that provides robust fault tolerance patterns including rate limiting, circuit breaking, retries, and asynchronous execution support, making it an ideal fit for managing concurrency and flow control.

    JavaRetry PoliciesAsynchronous Request ExecutionToken Bucket Implementations
    Auf GitHub ansehen↗4,307
  • alibaba/sentinelAvatar von alibaba

    alibaba/Sentinel

    23,126Auf GitHub ansehen↗

    Sentinel is a microservice flow control framework designed for managing traffic limits, distributed circuit breaking, and adaptive overload protection. It serves as a traffic shaping component that defines resource boundaries to regulate request flow and ensure reliability across distributed systems. The project provides a real-time monitoring dashboard for tracking resource metrics and performance bottlenecks across service clusters. It includes a visual interface for the real-time management of flow control and circuit breaking rules, allowing parameters to be updated without restarting the

    Sentinel is a Java-based flow control framework that provides traffic shaping, distributed circuit breaking, and overload protection to manage concurrency and reliability in distributed systems.

    JavaCircuit BreakersTraffic Control
    Auf GitHub ansehen↗23,126
  • reactivex/rxjavaAvatar von ReactiveX

    ReactiveX/RxJava

    48,237Auf GitHub ansehen↗

    RxJava is a reactive stream processing framework and JVM reactive extensions library. It serves as an asynchronous dataflow orchestrator used to compose event-based programs by transforming, combining, and consuming real-time data flows on the Java Virtual Machine. The project distinguishes itself through integrated backpressure flow control, which manages the emission rate between producers and consumers to prevent memory exhaustion. It further provides mechanisms for concurrent thread management and parallel data processing to offload blocking operations and maintain application responsiven

    RxJava is a comprehensive reactive streams framework for the JVM that natively supports backpressure, asynchronous dataflow orchestration, and concurrent thread management.

    JavaFlow Control MechanismsFlow Control Mechanisms
    Auf GitHub ansehen↗48,237
  • reactor/reactor-coreAvatar von reactor

    reactor/reactor-core

    5,224Auf GitHub ansehen↗

    Reactor Core is a reactive programming toolkit and non-blocking foundation for composing asynchronous data pipelines on the JVM. It serves as an asynchronous stream processing framework and a backpressure management system, allowing developers to transform, filter, and combine sequences of events while regulating data flow between producers and consumers to prevent resource exhaustion. The library differentiates itself through a sophisticated concurrency scheduling system and demand-based flow control. It decouples signal processing from specific threads using a scheduler registry and provide

    Reactor Core is a reactive programming toolkit and non-blocking foundation for the JVM that explicitly provides backpressure handling, concurrency control, and async stream processing to manage data flow between producers and consumers.

    JavaBackpressure ManagementBackpressure Coordination
    Auf GitHub ansehen↗5,224
  • caolan/asyncAvatar von caolan

    caolan/async

    28,150Auf GitHub ansehen↗

    Async is a JavaScript asynchronous flow library designed to manage the execution and coordination of asynchronous tasks in Node.js and the browser. It provides functional utilities to wrap, process, and orchestrate complex asynchronous workflows. The library distinguishes itself through a comprehensive task orchestrator that handles dependency graphs to resolve circular references and manages concurrent task queues. It includes a unification bridge that allows callback-style and promise-based functions to operate within the same execution interface. The project covers several primary capabil

    This JavaScript library provides asynchronous flow control utilities to orchestrate tasks, manage concurrent queues, and implement retry policies, fitting the core concurrency and flow management requirements despite missing explicit backpressure and circuit breaking features.

    JavaScriptAsync-Await Flow ControlAsynchronous Control FlowsRetry Policies
    Auf GitHub ansehen↗28,150
  • tokio-rs/tokioAvatar von tokio-rs

    tokio-rs/tokio

    32,309Auf GitHub ansehen↗

    Tokio is an asynchronous runtime for the Rust programming language, designed to manage and execute concurrent tasks efficiently. It provides a multi-threaded execution environment that schedules lightweight tasks across available processor cores, utilizing a work-stealing scheduler to balance computational load. By employing a poll-based execution model and waker-based notifications, the runtime drives asynchronous operations forward without requiring active polling loops, ensuring efficient resource utilization. The project distinguishes itself through a comprehensive suite of tools for high

    Tokio is an asynchronous runtime and concurrency framework for Rust that provides foundational primitives, task scheduling, and synchronization patterns needed to build robust, high-performance flow-controlled systems.

    RustRuntime EnvironmentsTimer SchedulersNetwork Programming Frameworks
    Auf GitHub ansehen↗32,309
  • reactivex/rxgoAvatar von ReactiveX

    ReactiveX/RxGo

    5,091Auf GitHub ansehen↗

    RxGo is a functional reactive programming library and an implementation of ReactiveX for the Go language. It serves as an asynchronous stream processing toolkit designed to coordinate event-based programs and data flows using the observable pattern. The library enables the construction of asynchronous processing pipelines that transform, filter, and combine event sequences. It distinguishes itself through the use of functional operators to compose these pipelines and provides mechanisms for managing concurrent execution. The toolkit covers a broad range of stream orchestration capabilities,

    RxGo is a functional reactive programming library for Go that provides asynchronous stream processing, concurrency control, and backpressure management, though it lacks dedicated circuit-breaking and retry primitives out of the box.

    GoBackpressure Management
    Auf GitHub ansehen↗5,091
  • taskforcesh/bullmqAvatar von taskforcesh

    taskforcesh/bullmq

    8,432Auf GitHub ansehen↗

    BullMQ is a Redis-backed message queue library and background processor designed for distributed task queueing. It functions as a distributed queue manager and task scheduler, utilizing Redis to manage asynchronous job processing and persistence. The system distinguishes itself through its role as a job workflow orchestrator, enabling the definition of complex parent-child job dependencies and hierarchies for multi-step workflows. It provides sandboxed process execution to isolate heavy workloads and prevent event loop blocking, alongside distributed rate limiting to protect downstream servic

    BullMQ is a Redis-backed message queue library for Node.js and other languages that provides built-in rate limiting, retry policies, and background job concurrency control, making it a strong tool for managing task flow despite lacking explicit circuit breaking and reactive backpressure streams.

    TypeScriptRate LimitingRetry Policies
    Auf GitHub ansehen↗8,432
  • inngest/inngestAvatar von inngest

    inngest/inngest

    5,499Auf GitHub ansehen↗

    Inngest is a durable execution framework and event-driven automation engine designed to orchestrate background workflows. It enables developers to build resilient, stateful processes by memoizing function steps, ensuring that long-running tasks can automatically resume from the last successful operation after failures, timeouts, or infrastructure restarts. The platform distinguishes itself through its event-driven architecture, which uses a schema-validated bus to trigger functions and coordinate complex, multi-step logic. It employs an onion-model middleware approach for cross-cutting concer

    Inngest provides a durable execution framework that handles retries, stateful processes, and resilient workflows, fitting the concurrency and flow control category well despite focusing primarily on background automation rather than raw rate limiting.

    GoDurable Execution RuntimesDurable Function DefinitionsDurable Workflow Execution Engines
    Auf GitHub ansehen↗5,499
  • reactivex/rxswiftAvatar von ReactiveX

    ReactiveX/RxSwift

    24,648Auf GitHub ansehen↗

    RxSwift is a reactive programming library for Swift that provides a framework for managing push-based data flows and composing asynchronous, event-based programs. It utilizes observable sequences and functional operators to transform and filter asynchronous sequences through a declarative approach. The library is distinguished by its ability to link asynchronous data streams directly to user interface elements, automating view updates via reactive data binding. It includes specialized tools for tracking UI control properties and events on the main thread, as well as the ability to encapsulate

    RxSwift provides a reactive programming framework for Swift that handles asynchronous data flows and event composition, supporting core flow control needs like throttling and execution scheduling.

    SwiftReactive Data BindingsAsynchronous Error HandlersAsynchronous Event Dispatchers
    Auf GitHub ansehen↗24,648
  • reactivex/rxkotlinAvatar von ReactiveX

    ReactiveX/RxKotlin

    7,041Auf GitHub ansehen↗

    RxKotlin is a reactive programming library and asynchronous stream processor that provides Kotlin language extensions for composing event-based data streams. It serves as a set of Kotlin bindings for RxJava, allowing developers to transform, filter, and flatten sequences of data emitted over time. The library focuses on integrating RxJava patterns into Kotlin projects by applying language-specific conventions and idioms. It utilizes extension functions to simplify reactive programming patterns, reduce boilerplate, and optimize workflows within the reactive ecosystem. The toolkit covers a bro

    RxKotlin provides reactive programming and asynchronous stream processing tools well-suited for managing complex data flows and asynchronous workflows, though it lacks direct out-of-the-box implementations for circuit breaking or formal rate limiting.

    KotlinAsynchronous StreamsCompositional Streaming PipelinesFunctional Reactive Programming
    Auf GitHub ansehen↗7,041
  • reactivex/rxpyAvatar von ReactiveX

    ReactiveX/RxPY

    5,014Auf GitHub ansehen↗

    RxPY is a functional reactive programming library and a ReactiveX observable library for Python. It serves as an asynchronous stream processor and event-driven coordination framework used to build data pipelines that react to changes in state or streams of events over time. The library provides a toolkit for composing asynchronous and event-based programs using observable sequences and operators. It distinguishes itself through the use of configurable schedulers to manage concurrency, timing, and subscription lifecycles. The project covers a wide range of stream processing capabilities, incl

    RxPY is a Python reactive programming library that manages asynchronous streams, event coordination, and concurrency schedulers, though it requires custom implementation for specific rate-limiting or circuit-breaking patterns.

    PythonAsynchronous Stream Processing FrameworksConcurrent Workload CoordinationData Stream Subscriptions
    Auf GitHub ansehen↗5,014
  • reactivex/rxphpAvatar von ReactiveX

    ReactiveX/RxPHP

    1,732Auf GitHub ansehen↗

    Reactive extensions for PHP

    This ReactiveX implementation for PHP provides asynchronous programming support and reactive stream primitives suited for managing concurrency and flow control, though it lacks dedicated out-of-the-box implementations for circuit breaking or advanced backpressure handling.

    PHPEvent and Async Programming
    Auf GitHub ansehen↗1,732
  • jhurliman/node-rate-limiterAvatar von jhurliman

    jhurliman/node-rate-limiter

    1,561Auf GitHub ansehen↗

    Node-rate-limiter is a utility library for Node.js designed to throttle both incoming and outgoing traffic using configurable time intervals and token bucket limits. It protects server capacity and backend APIs by capping the number of requests an individual client can make within a specified time window, while also controlling the frequency of outbound API calls and web crawling tasks to avoid triggering remote rate limit violations. The library implements a token-bucket rate limiting algorithm with continuous replenishment, allowing administrators to configure specific burst and drip rates.

    This TypeScript library provides generic rate-limiting functionality for Node.js, fulfilling the rate-limiting requirement while lacking the broader orchestration features of a complete concurrency and flow-control framework.

    TypeScriptToken Bucket ThrottlersAPI Rate LimitingMiddleware Rate Limiters
    Auf GitHub ansehen↗1,561
  • avast/retry-goAvatar von avast

    avast/retry-go

    2,929Auf GitHub ansehen↗

    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

    This Go library provides retry mechanisms for handling transient failures, matching the retry feature of the flow control and concurrency category while lacking the other broader flow control capabilities.

    GoRetry LibrariesRetry Policies
    Auf GitHub ansehen↗2,929
  • spring-projects/spring-retryAvatar von spring-projects

    spring-projects/spring-retry

    2,268Auf GitHub ansehen↗

    Spring Retry is a Java library that provides exception handling, automated operation reattempts, backoff strategies, and recovery mechanisms for application workflows. It handles transient operation failures through declarative annotations, programmatic templates, stateful context storage, and fallback recovery paths. The library controls retry behavior by specifying attempt counts, timeouts, and inclusion or exclusion rules for specific exception types. It pauses execution between attempts using fixed, exponential, or randomized backoff intervals, and caches retry state outside the call stac

    This library provides declarative and imperative retry support for Java applications, fitting the concurrency and flow control domain, though it focuses specifically on retries rather than the full suite of rate limiting and backpressure features.

    JavaRetry LibrariesRetry Strategies
    Auf GitHub ansehen↗2,268
  • dashbitco/flowAvatar von dashbitco

    dashbitco/flow

    1,612Auf GitHub ansehen↗

    Computational parallel flows on top of GenStage

    Flow is an Elixir library built on GenStage for managing computational parallel flows, offering strong primitives for concurrency and data processing pipelines.

    ElixirAlgorithms and Data Structures
    Auf GitHub ansehen↗1,612
  • taskflow/taskflowAvatar von taskflow

    taskflow/taskflow

    12,013Auf GitHub ansehen↗

    Taskflow is a C++ task-parallel framework designed to build high-performance parallel workflows and complex dependency graphs. It provides a programming model that organizes computational work into directed acyclic graphs, enabling developers to manage concurrency, resource scheduling, and task dependencies across multi-core CPUs and GPU accelerators. The framework distinguishes itself through its ability to orchestrate heterogeneous systems, allowing for the integration of hardware-accelerated kernels and memory operations into unified execution pipelines. It supports dynamic runtime subflow

    Taskflow is a C++ parallel framework that helps you manage concurrency and task dependencies in high-performance workflows, though it lacks dedicated features for rate limiting, circuit breaking, and backpressure handling.

    C++C++ Task EnginesDirected Acyclic Graph EnginesTask-Based Concurrency Frameworks
    Auf GitHub ansehen↗12,013
Die Top 10 auf einen Blick vergleichen
RepositoryStarsSpracheLizenzLetzter Push
app-vnext/polly14.2KC#BSD-3-Clause22. Juni 2026
jd/tenacity8.4KPythonapache-2.020. Feb. 2026
resilience4j/resilience4j10.7KJavaApache-2.016. Juni 2026
jhalterman/failsafe4.3KJavaApache-2.028. Dez. 2025
alibaba/sentinel23.1KJavaApache-2.027. Mai 2026
reactivex/rxjava48.2KJavaApache-2.023. Juni 2026
reactor/reactor-core5.2KJavaApache-2.022. Juni 2026
caolan/async28.2KJavaScriptMIT1. Feb. 2026
tokio-rs/tokio32.3KRustMIT13. Juni 2026
reactivex/rxgo5.1KGoMIT22. Jan. 2025

Related searches

  • Control flow engine
  • Low-level abstraction patterns
  • Concurrency design patterns
  • UI component patterns
  • Event dispatcher
  • eine Sammlung wiederverwendbarer React-Design-Patterns
  • Static analysis tools
  • Scalability architectural patterns