22 مستودعات
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 هي مجموعة أدوات برمجة تفاعلية وأساس غير محظور لتكوين خطوط أنابيب بيانات غير متزامنة على JVM. تعمل كإطار عمل لمعالجة التدفق غير المتزامن ونظام إدارة الضغط العكسي، مما يسمح للمطورين بتحويل وتصفية ودمج تسلسلات الأحداث مع تنظيم تدفق البيانات بين المنتجين والمستهلكين لمنع استنفاد الموارد. تتميز المكتبة بنظام جدولة تزامن متطور وتحكم في التدفق قائم على الطلب. تفصل معالجة الإشارات عن خيوط معينة باستخدام سجل جدولة وتوفر آليات لنشر البيانات الوصفية غير القابلة للتغيير المدركة للسياق عبر الحدود غير المتزامنة. كما تتميز بأدوات متخصصة لالتقاط التتبع في وقت التجميع وجدولة الوقت الافتراضي لتسهيل اختبار المشغلين القائمين على الوقت. يغطي المشروع مجموعة واسعة من القدرات، بما في ذلك معالجة البيانات الوظيفية لتجميع التسلسل والنافذة، ومجموعة متنوعة من استراتيجيات استرداد الأخطاء مثل إعادة المحاولة ذات التراجع الأسي، وأدوات لربط رد الاتصال القديم أو واجهات برمجة التطبيقات المتزامنة في تدفقات تفاعلية. كما يوفر أدوات لمراقبة خط الأنابيب ومجموعة من أدوات الاختبار للتحقق من تسلسلات الإشارة.
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.
يوفر هذا المشروع مواصفات رسمية ومجموعة من واجهات Java القياسية لمعالجة التدفقات غير المتزامنة. يحدد بروتوكولاً موحداً لتمرير تسلسلات العناصر بين الناشرين والمشتركين عبر خيوط معالجة (threads) مختلفة، مع التركيز على مواصفات التدفقات التفاعلية (reactive streams) لـ JVM. يركز المشروع على قابلية التشغيل البيني من خلال توفير واجهة برمجة تطبيقات (API) مشتركة تسمح لمكتبات التدفق غير المتزامن المختلفة بالعمل معاً. يتم تحقيق ذلك من خلال مجموعة قياسية من الواجهات وآليات الربط التي تترجم بين مواصفات التدفق غير المتوافقة. تغطي المواصفات بروتوكول الضغط العكسي (backpressure) غير المحظور لتنظيم تدفق البيانات ومنع تحميل النظام الزائد من خلال مطالبة المشتركين بالإشارة إلى الطلب. كما تحدد دورة حياة التدفقات، بما في ذلك إدارة الاشتراك، ومعالجة العناصر، والإنهاء القائم على الإشارة لتنظيف الموارد. يتضمن المشروع إطار عمل للتحقق من سلوك التدفق للتحقق من منطق المعالجة مقابل قواعد الضغط العكسي والأحداث غير المتزامنة.
Regulates data flow by requiring subscribers to signal demand for elements before a publisher sends them.
هذا المشروع عبارة عن مجموعة من الإرشادات والأدلة المنسقة لكتابة كود نظيف، اصطلاحي، وقابل للصيانة في Scala. يعمل كدليل شامل لمعايير ترميز Scala، وتصميم البرمجة الوظيفية، وهندسة برمجيات المؤسسات. يوفر المستودع استراتيجيات محددة لإدارة التزامن، بما في ذلك أنماط للوكلاء (actors)، والعقود الآجلة (futures)، ومجمعات الخيوط (thread pools) لضمان سلامة الخيوط. كما يحتوي على دليل لتحسين الأداء يركز على تقليل تخصيصات الذاكرة وإدارة ضغط جمع القمامة لتحسين كفاءة وقت التشغيل. تغطي الأدلة مجموعة واسعة من القدرات بما في ذلك هندسة التطبيقات، ومعالجة الأخطاء الآمنة للنوع، واستخدام هياكل البيانات غير القابلة للتغيير. كما يتناول ضمان جودة البرمجيات من خلال اصطلاحات التسمية الموحدة، وتصميم السمات النمطية، وتنفيذ الضغط العكسي وإشارات الطلب.
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.