11 dépôts
External storage systems used to persist the internal state of a processing engine.
Distinct from In-Memory State Stores: Focuses on the storage of engine state for persistence, unlike the candidates which focus on authentication or UI state.
Explore 11 awesome GitHub repositories matching data & databases · External State Stores. Refine with filters or upvote what's useful.
livego is a live streaming server written in Go that receives live video streams and broadcasts them to viewers in real time. It functions as a multi-protocol video gateway, serving as a backend for ingesting video and redistributing it through RTMP, HLS, and HTTP-FLV protocols. The server features dynamic protocol transmuxing to convert ingested streams into different formats for device compatibility and low-latency playback. It provides secure stream access and ingestion by validating unique channel keys and using security tokens. The system includes capabilities for encrypted stream deliv
Uses an external memory store to persist room keys and session state across server restarts.
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
Provides connectivity to external state stores to persist processed streaming data.
This project is a collection of reference implementations and sample applications for Flutter. It provides practical examples covering API integration, user authentication, data persistence, and a gallery of UI patterns. The repository distinguishes itself by offering a wide array of functional demos, including implementations for Google and email-based identity verification, cloud database synchronization, and the use of both relational and key-value local storage. It also includes specialized utility examples such as expense tracking, tip calculation, and body mass index tools. The project
Coordinates application state using external systems to maintain consistency across the interface.
ejabberd is a multi-protocol communication gateway and scalable server that implements XMPP for instant messaging and presence. It serves as a federated messaging platform, enabling interoperable communication and user discovery between different remote servers. The project functions as an MQTT message broker for lightweight IoT device communication and a SIP signaling server for managing voice and multimedia signaling traffic. It allows for the hosting of multiple domains on a single instance using virtual hosting to isolate configurations and prevent username conflicts. The system provides
Persists application data and user records in external database engines.
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
Synchronizes in-memory data structures with an external database by implementing custom storage logic to handle read and write operations.
Stateless est une bibliothèque de machine à états pour .NET utilisée pour gérer des comportements d'objets complexes et des workflows légers via du code C#. Il fonctionne comme un moteur de workflow asynchrone qui exécute des transitions d'état, des gardes et des actions d'entrée/sortie en utilisant des tâches asynchrones. La bibliothèque implémente une machine à états hiérarchique, permettant aux états enfants d'hériter des transitions et propriétés des super-états parents. Elle inclut un framework de persistance d'état qui découple le suivi d'état de la logique de la machine en lisant et écrivant l'état actuel vers des propriétés externes ou des bases de données. De plus, elle dispose d'un exportateur de visualisation de graphe qui génère des formats DOT ou Mermaid pour rendre les configurations de workflow sous forme de diagrammes visuels. Le système couvre le mapping de transition avec prise en charge des transitions réentrantes et internes, des clauses de garde basées sur des prédicats, et le dispatch de déclencheurs paramétriques. Il fournit également des capacités d'introspection de configuration de machine, des notifications de changement d'état, et l'exécution de logique synchrone ou asynchrone lors des entrées et sorties d'état.
Provides an external state store mechanism to decouple state tracking from machine logic via getter and setter delegates.
Rack-attack est un middleware de limitation de débit (rate limiter) et un filtre de requêtes pour l'interface Rack. Il fournit un système pour brider les requêtes HTTP et maintenir des listes de blocage d'adresses IP afin de protéger les applications contre le trafic malveillant et les attaques par déni de service. Le projet permet l'atténuation des attaques DDoS au niveau applicatif et la gestion des limites de débit des API en identifiant et en rejetant les requêtes provenant de clients bannis ou d'adresses IP abusives. Il permet de définir des listes blanches (safelists) pour contourner les filtres et utilise une logique personnalisée pour déterminer si un client doit être bloqué ou bridé. L'outil couvre une gestion complète du trafic grâce au bannissement automatisé des clients, à des stratégies d'attente exponentielle (exponential backoff) et à la possibilité de définir des réponses de rejet personnalisées. Il inclut une instrumentation pour surveiller les modèles de requêtes et prend en charge des backends de cache externes pour synchroniser l'état entre les instances d'application distribuées.
Integrates with external state stores to maintain ban records and request counts across distributed instances.
gpustack est une plateforme de gestion de cluster GPU et un orchestrateur d'inférence LLM. Il fonctionne comme un système centralisé pour mettre en commun et orchestrer les unités de traitement graphique à travers les serveurs locaux et les environnements cloud, servant de gestionnaire de calcul hétérogène pour diverses configurations matérielles et logicielles. Le système fournit une passerelle de déploiement de modèle IA sécurisée qui sert les modèles en tant que services évolutifs en utilisant une authentification basée sur des clés. Il inclut un planificateur de ressources GPU qui équilibre les charges de travail à travers les accélérateurs et coordonne plusieurs moteurs d'inférence pour mapper des modèles IA spécifiques à un matériel compatible. La plateforme couvre une orchestration de cluster complète, y compris la récupération automatique en cas de défaillance, la surveillance des ressources en temps réel et la mise à l'échelle de l'inférence distribuée. Elle intègre l'optimisation des performances par la quantification et le décodage spéculatif pour maximiser le débit et réduire la latence. Les configurations système et l'état du cluster sont maintenus via la persistance de l'état de la base de données relationnelle externe.
Persists internal system state and configurations in external databases to ensure data permanence.
go-mysql est une boîte à outils pour l'intégration de bases de données MySQL, fournissant un pilote client natif et les capacités pour implémenter des serveurs ou proxys compatibles MySQL personnalisés. Il permet aux applications de communiquer avec les serveurs MySQL via des modèles d'interface SQL standard. Le projet fournit un support spécialisé pour la synchronisation de données en temps réel en diffusant des événements de journal binaire (binary log). Cela permet de capturer les changements de base de données et de les pousser vers des magasins de données externes, des moteurs de recherche ou des caches pour maintenir la cohérence. La bibliothèque inclut des outils pour le traitement efficace en mémoire de grands jeux de données, utilisant le streaming de résultats de requêtes et des mécanismes de rappel pour gérer les lignes individuellement. Elle couvre également l'analyse de protocole de bas niveau, le pool de connexions avec état et la logique de réponse aux paquets personnalisée.
Provides mechanisms for pushing database state and incremental changes into external stores like search engines or caches.
MadelineProto is an asynchronous PHP library that provides a programmatic interface for interacting with the Telegram API using the MTProto protocol, the same protocol used by official Telegram clients. It functions as both a Telegram bot SDK and a userbot automation library, enabling PHP applications to connect to Telegram as either a bot account or a regular user account, sending and receiving messages, media, and other data directly without relying on the Bot API intermediary. The library is built on an event-driven architecture with Amp v3 fiber-based concurrency, allowing for non-blockin
Stores internal session and entity data in MySQL, MariaDB, Postgres, or Redis for persistence.
Cette bibliothèque est une boîte à outils de composants React déclaratifs pour construire des interfaces de diagrammes interactifs basées sur des nœuds et des organigrammes. Elle fournit les éléments d'interface utilisateur fondamentaux nécessaires pour rendre des nœuds déplaçables et des chemins vectoriels évolutifs dans un navigateur web, permettant la création d'éditeurs visuels complexes et de représentations de flux de données. La bibliothèque se distingue par une architecture strictement sans état (stateless) qui repose sur une gestion d'état externe. En utilisant un modèle d'entrée contrôlé et l'injection de composants, elle découple la logique du diagramme du stockage des données, permettant aux développeurs de maintenir la source de vérité au sein de l'état de leur propre application. Cette approche garantit que chaque élément visuel, des nœuds et ports au canevas lui-même, peut être entièrement personnalisé pour répondre à des exigences de conception spécifiques. La boîte à outils prend en charge un large éventail de capacités d'interaction, y compris la navigation gestuelle pour le panoramique et le zoom sur le canevas. Elle offre également des fonctionnalités pour dessiner des connexions entre les nœuds et inclut un mode lecture seule pour les scénarios où les modifications structurelles doivent être restreintes. La bibliothèque est distribuée sous forme de collection de composants réutilisables conçus pour être intégrés dans des projets React existants.
Decouples diagram logic from data storage by relying on external state management for all diagram data.