7 dépôts
Mechanisms for regulating data transmission rates to prevent processing bottlenecks.
Distinct from Backpressure Management: Distinct from plugin management: focuses on general flow control for data streams.
Explore 7 awesome GitHub repositories matching development tools & productivity · Flow Control. Refine with filters or upvote what's useful.
This project serves as a comprehensive technical reference for the architecture and design of data-intensive applications. It provides a structured analysis of the fundamental principles required to build reliable, scalable, and maintainable software systems, covering the core trade-offs inherent in modern data infrastructure. The repository explores the mechanics of distributed data management, including strategies for replication, partitioning, and achieving consensus across multiple nodes. It details the design of storage engines, indexing techniques, and transaction management models, whi
Forces data senders to reduce transmission rates when receiving systems are overloaded.
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
Manages data velocity and volume through sampling, rate-limiting, and backpressure-aware flow control.
brpc is a high-performance C++ RPC framework and network programming library designed for building distributed systems. It functions as a multi-protocol RPC server capable of hosting and detecting multiple communication protocols, including gRPC, Thrift, HTTP, Redis, and Memcached, on a single TCP port. The project distinguishes itself through high-throughput data transport and memory efficiency, utilizing RDMA-based transport to bypass the kernel TCP stack and zero-copy memory management to eliminate data duplication. It also implements the Raft algorithm for consensus-based state replicatio
Pauses data transmission when remote buffers are full to prevent data overflow.
F Prime est un framework basé sur des composants conçu pour le développement et le déploiement de logiciels embarqués et spatiaux. Il fournit une architecture modulaire qui découple la logique logicielle des interfaces de communication, permettant aux développeurs de définir des structures système via un langage de modélisation spécifique au domaine. Cette approche basée sur les modèles permet la génération automatique de code, garantissant la cohérence des topologies système complexes tout en maintenant des contrats d'interface stricts entre les modules logiciels. Le framework se distingue par son système de build intégré et sa suite d'opérations de données au sol. Il automatise l'intégralité du cycle de vie des logiciels embarqués, de la compilation croisée et la gestion des dépendances à la génération d'interfaces de télémétrie et de commande. En fournissant un environnement unifié pour les logiciels de vol embarqués et la surveillance au sol, il facilite l'intégration, les tests et le contrôle des systèmes embarqués distribués sur diverses plateformes matérielles. Au-delà de son architecture centrale, le projet inclut des outils complets pour l'observabilité du système, notamment la visualisation de télémétrie en temps réel, la journalisation d'événements et le traçage de diagnostic. Il prend en charge un large éventail de scénarios de déploiement, des environnements bare-metal aux systèmes d'exploitation temps réel, et fournit des mécanismes pour la gestion de la mémoire, la modélisation de comportement pilotée par les états et l'exécution de tâches asynchrones. Le projet est maintenu sous forme de dépôt C++ avec une documentation étendue et un support du système de build pour le développement multiplateforme.
Regulates message transmission between components and hardware using status feedback to prevent interface overloading and ensure reliable data delivery.
Reactor Core est une boîte à outils de programmation réactive et une fondation non bloquante pour composer des pipelines de données asynchrones sur la JVM. Il sert de framework de traitement de flux asynchrone et de système de gestion de contre-pression (backpressure), permettant aux développeurs de transformer, filtrer et combiner des séquences d'événements tout en régulant le flux de données entre les producteurs et les consommateurs pour éviter l'épuisement des ressources. La bibliothèque se différencie par un système sophistiqué de planification de la concurrence et un contrôle de flux basé sur la demande. Elle découple le traitement des signaux de threads spécifiques en utilisant un registre de planificateur et fournit des mécanismes pour la propagation de métadonnées immuables sensibles au contexte à travers les frontières asynchrones. Elle dispose également d'outils spécialisés pour la capture de traces au moment de l'assemblage et la planification en temps virtuel pour faciliter le test des opérateurs basés sur le temps. Le projet couvre un large éventail de capacités, incluant le traitement fonctionnel de données pour l'agrégation et le fenêtrage de séquences, une variété de stratégies de récupération d'erreurs comme les tentatives avec backoff exponentiel, et des utilitaires pour faire le pont entre les API de rappel (callback) héritées ou synchrones et les flux réactifs. Elle fournit en outre une instrumentation pour la surveillance des pipelines et une suite d'outils de test pour vérifier les séquences de signaux.
Provides a demand-based backpressure system to regulate data production and prevent consumer overwhelm.
Ce projet fournit une spécification formelle et un ensemble d'interfaces Java standard pour le traitement de flux asynchrones. Il définit un protocole standardisé pour transmettre des séquences d'éléments entre des éditeurs (publishers) et des abonnés (subscribers) à travers différents threads, en se concentrant sur une spécification de flux réactifs pour la JVM. Le projet se concentre sur l'interopérabilité en fournissant une API commune qui permet à différentes bibliothèques de streaming asynchrone de fonctionner ensemble. Ceci est réalisé grâce à un ensemble standard d'interfaces et de mécanismes de pontage qui traduisent les spécifications de streaming incompatibles. La spécification couvre un protocole de contre-pression (backpressure) non bloquant pour réguler le flux de données et éviter la surcharge du système en exigeant des abonnés qu'ils signalent la demande. Elle définit également le cycle de vie des flux, incluant la gestion des abonnements, le traitement des éléments et la terminaison basée sur des signaux pour le nettoyage des ressources. Le projet inclut un framework pour vérifier le comportement des flux afin de valider la logique de traitement par rapport aux règles de contre-pression et d'événements asynchrones.
Provides traffic management capabilities to regulate data transfer speeds and prevent system overload.
Capnweb is a distributed object communication library and Cap'n Proto RPC framework. It enables type-safe remote procedure calls between clients and servers using shared schemas and generated stubs to invoke methods on remote objects as if they were local. The project utilizes an object-capability security model to govern access to remote resources through unforgeable tokens. It provides a bidirectional network layer that multiplexes asynchronous calls and data streams over persistent WebSocket connections and includes a remote resource lifecycle manager that uses reference counting to automa
Employs backpressure and flow-control mechanisms to manage bidirectional data streaming and prevent memory overflow.