22 repository-uri
Mechanisms for regulating data stream ingestion to prevent buffer overflows during high-volume input.
Distinct from Data Throughput Optimizers: Distinct from general throughput optimizers: focuses specifically on flow control and backpressure for terminal streams.
Explore 22 awesome GitHub repositories matching devops & infrastructure · Backpressure Controllers. Refine with filters or upvote what's useful.
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
Provides backpressure controllers to regulate data stream ingestion and prevent buffer overflows.
RxJS is a library for reactive programming that provides a framework for composing asynchronous and event-based programs. It utilizes observable sequences to model data flows, allowing developers to manage complex sequences of events through a declarative programming interface. The library implements the observer pattern to facilitate decoupled communication between data producers and subscribers. By employing a lazy execution model, streams remain dormant until a consumer explicitly subscribes, at which point data production is triggered. This approach enables the construction of predictable
Provides built-in mechanisms to manage data production rates and prevent consumer overload in asynchronous streams.
Vector is a high-performance observability data pipeline designed to collect, transform, and route logs, metrics, and traces across distributed infrastructure. It functions as a modular engine that decouples data ingestion from processing and transmission, utilizing a component-based architecture to connect diverse sources to multiple destinations. The project distinguishes itself through a focus on reliability and flow control. It implements backpressure-aware data movement to prevent data loss during traffic spikes and utilizes disk-backed event buffering to ensure durability during network
Propagates flow control signals upstream to throttle ingestion when downstream buffers reach capacity.
xterm.js is a high-performance terminal emulator library designed for web applications. It provides a core rendering engine and a modular interface that allows developers to embed fully functional, interactive command-line interfaces directly into browser environments. By processing standard terminal data streams and managing internal buffer states, the library enables the creation of rich, text-based user interfaces that support standard terminal protocols. The project distinguishes itself through a highly extensible architecture that allows for deep customization of terminal behavior. Devel
Manages incoming data streams via backpressure to maintain responsiveness during high-volume input.
The Reactive Extensions for JavaScript
Operators like buffer and window collect emissions into batches, allowing downstream consumers to control flow without dropping data.
uWebSockets is a high-performance networking engine providing an HTTP web server and a WebSocket server framework. It implements a multi-threaded event loop architecture to deploy isolated application instances across multiple CPU cores and includes an SSL/TLS network layer for secure, encrypted communication. The project features a dedicated WebSocket pub/sub engine for distributing messages to specific groups of connected clients. It optimizes network throughput through syscall corking to reduce kernel overhead and employs payload compression to minimize data transfer sizes. The system cov
Manages the flow of outgoing data using drain events to prevent memory overflow from buffered information.
Quarkus is a Kubernetes-native Java framework designed for building high-performance, memory-efficient applications. It utilizes ahead-of-time native compilation to transform Java code into standalone, optimized binaries that eliminate the need for a virtual machine, enabling rapid startup and reduced memory consumption. By performing code augmentation during the build phase, it shifts heavy processing tasks away from runtime, ensuring that applications are optimized for cloud-native environments. The framework distinguishes itself through a unified approach to reactive and imperative program
Regulates data flow between producers and subscribers to prevent system overload during high-volume processing.
Apache Pulsar is a cloud-native distributed pub-sub messaging system designed for high-performance data ingestion. It functions as a geo-replicated data streamer and a multi-tenant event streaming platform, providing a serverless stream processing engine and a tiered storage messaging broker. The system distinguishes itself by separating serving layers from storage layers to allow independent scaling of compute and data retention. It features native geo-replication to synchronize messages across different geographical regions and employs a multi-layered tenant isolation model using authentica
Implements flow control mechanisms to regulate data ingestion and prevent system memory overflow.
Beats is a collection of lightweight, modular agents designed to gather, process, and forward operational telemetry from distributed infrastructure to centralized storage and analysis platforms. These agents function as a distributed data transport layer, decoupling the collection of logs, metrics, and network events from their final delivery destination. By maintaining local state and managing data flow, the system ensures reliable transmission of information across heterogeneous environments. The project distinguishes itself through a modular pipeline architecture that allows for the assemb
Dynamically adjusts ingestion rates based on destination responsiveness to prevent data overflow.
This project provides educational materials and courseware focused on the theoretical and practical foundations of distributed systems design. It serves as a comprehensive curriculum covering the disciplines of consensus, data consistency, reliability engineering, and scalability. The instructional content focuses on achieving cluster agreement through consensus algorithms and managing system-wide state via coordination frameworks. It includes a dedicated guide to data theory, exploring replication strategies, consistency models, and data convergence. The courseware covers a broad capability
Covers the implementation of backpressure controllers to prevent system collapse during downstream saturation.
RisingWave is a cloud-native streaming database and real-time analytics engine that uses standard SQL to process continuous data streams. It functions as a streaming data lakehouse, combining the capabilities of a streaming SQL database with a platform that integrates streaming ingestion with open table formats. The system is distinguished by its use of the PostgreSQL wire protocol, allowing it to integrate with existing SQL tools and drivers. It employs a decoupled compute and storage architecture, persisting streaming state and materialized views in cloud object storage to enable independen
Signals upstream sources to slow down ingestion when downstream operators reach resource limits.
CAP is a .NET distributed transaction framework and event bus designed to manage asynchronous communication in microservices. It implements the outbox pattern to ensure eventual consistency and reliable message delivery by persisting messages in local database tables until transactions commit. The framework includes a distributed message monitor and web dashboard for tracking the status of sent and received messages. It provides tools for event traffic visualization, distributed request tracing, and the ability to manually trigger retries for failed delivery attempts. The system supports var
Implements backpressure flow control to regulate message processing speed and prevent memory exhaustion during high data spikes.
Hazelcast is a distributed data platform that combines an in-memory data grid with a stream processing engine to support real-time analytics and event-driven applications. It functions as a partitioned, distributed key-value store that replicates data across cluster nodes to provide low-latency access and high availability. The platform also serves as a distributed SQL query engine, allowing users to execute standard SQL statements against both in-memory datasets and external data sources. What distinguishes Hazelcast is its use of a distributed consensus subsystem to maintain strongly consis
Regulates data ingestion rates to prevent system overload when downstream sinks are saturated.
Highly scalable realtime pub/sub and RPC framework
Manages data flow through async iterable streams with explicit backpressure inspection and consumer lifecycle methods.
Reactor Core este un toolkit de programare reactivă și o fundație non-blocking pentru compunerea pipeline-urilor de date asincrone pe JVM. Servește drept framework de procesare a fluxurilor asincrone și sistem de gestionare a backpressure-ului, permițând dezvoltatorilor să transforme, filtreze și combine secvențe de evenimente în timp ce reglează fluxul de date între producători și consumatori pentru a preveni epuizarea resurselor. Biblioteca se diferențiază printr-un sistem sofisticat de programare a concurenței și control al fluxului bazat pe cerere. Decuplează procesarea semnalelor de firele de execuție specifice folosind un registru de scheduler și oferă mecanisme pentru propagarea metadatelor imutabile conștiente de context peste limitele asincrone. De asemenea, dispune de instrumente specializate pentru capturarea urmelor la momentul asamblării și programarea timpului virtual pentru a facilita testarea operatorilor bazați pe timp. Proiectul acoperă o gamă largă de capabilități, inclusiv procesarea funcțională a datelor pentru agregarea și windowing-ul secvențelor, o varietate de strategii de recuperare a erorilor precum reîncercările cu backoff exponențial și utilitare pentru a conecta API-urile legacy de tip callback sau sincrone în fluxuri reactive. Oferă, de asemenea, instrumente pentru monitorizarea pipeline-ului și o suită de instrumente de testare pentru verificarea secvențelor de semnale.
Implements a sophisticated demand-based flow control system to prevent consumer overwhelm and resource exhaustion.
This is a cross-platform media processing library that reads, writes, encodes, and decodes media in both browser and server environments. It supports common container formats including ISOBMFF, Matroska, Ogg, MPEG-TS, and HLS, and handles codec operations through a combination of WebCodecs API and WebAssembly-based encoders. Media is processed in streaming pipelines that maintain constant memory usage and automatically apply backpressure from output speed to all upstream components. The library distinguishes itself through a plugin-based codec registration system that allows extending support
Processes media in a constant-memory pipeline that applies backpressure from output speed to all upstream components.
Piscina is a Node.js worker thread pool that runs CPU-intensive JavaScript functions across multiple threads for parallel execution. It manages a dynamic pool of worker threads with configurable size, handling task submission, cancellation, and lifecycle management through a promise-based interface. The pool supports AbortController-based task cancellation, enabling clean termination of submitted or running tasks without disrupting other work. It enforces per-worker memory limits through V8 resource caps and applies backpressure with a configurable maximum queue size that emits a drain event
Limits queued tasks with a configurable maximum size and emits a drain event when capacity becomes available.
Acest proiect oferă o specificație formală și un set de interfețe Java standard pentru procesarea fluxurilor asincrone. Definește un protocol standardizat pentru transmiterea secvențelor de elemente între publisheri și subscriberi pe diferite thread-uri, concentrându-se pe o specificație de fluxuri reactive pentru JVM. Proiectul se concentrează pe interoperabilitate prin furnizarea unui API comun care permite diferitelor biblioteci de streaming asincron să lucreze împreună. Acest lucru este realizat printr-un set standard de interfețe și mecanisme de bridging care traduc între specificații de streaming incompatibile. Specificația acoperă un protocol de backpressure non-blocant pentru a regla fluxul de date și a preveni supraîncărcarea sistemului, solicitând subscriberilor să semnaleze cererea. De asemenea, definește ciclul de viață al fluxurilor, inclusiv gestionarea abonamentelor, procesarea elementelor și terminarea bazată pe semnale pentru curățarea resurselor. Proiectul include un framework pentru verificarea comportamentului fluxului, pentru a valida logica de procesare în raport cu regulile pentru backpressure și evenimente asincrone.
Regulates data flow by requiring subscribers to signal demand for elements before a publisher sends them.
Acest proiect este o colecție de ghiduri și manuale curatoriate pentru scrierea de cod curat, idiomatic și mentenabil în Scala. Servește ca un ghid cuprinzător pentru standardele de codare Scala, designul programării funcționale și arhitectura software enterprise. Repository-ul oferă strategii specifice pentru gestionarea concurenței, inclusiv modele pentru actori, futures și thread pools pentru a asigura siguranța thread-urilor. Conține, de asemenea, un manual de optimizare a performanței axat pe reducerea alocărilor de memorie și gestionarea presiunii garbage collector-ului pentru a îmbunătăți eficiența runtime-ului. Ghidurile acoperă o gamă largă de capabilități, inclusiv arhitectura aplicațiilor, gestionarea erorilor type-safe și utilizarea structurilor de date imutabile. De asemenea, abordează asigurarea calității software prin convenții de denumire standardizate, design modular al trăsăturilor și implementarea back-pressure-ului și a semnalizării cererii.
Implements demand-signaling backpressure patterns to prevent resource exhaustion and mailbox overflow in reactive streams.
Reactor is a reactive streams library and framework for building asynchronous data pipelines. It provides a system for coordinating execution contexts via an asynchronous event-loop manager, alongside a set of reactive abstractions for implementing high-performance TCP, UDP, QUIC, and HTTP services. The project includes a specialized testing tool for verifying the timing and order of asynchronous data flows and a bill of materials to synchronize compatible versions of core reactive libraries and networking add-ons. Its capability surface covers non-blocking network services, demand-based bac
Implements the Reactive Streams specification where subscribers explicitly signal the number of elements they can process.