6 Repos
Systems that store transient messages to ensure data availability and retrieval after client disconnections.
Distinguishing note: Focuses on message persistence for retrieval rather than general-purpose caching.
Explore 6 awesome GitHub repositories matching data & databases · Message Caching Services. Refine with filters or upvote what's useful.
ntfy is a self-hosted messaging infrastructure that provides a lightweight platform for sending and receiving real-time notifications. It functions as a topic-based pub-sub server, allowing users to publish and subscribe to message channels using standard HTTP requests. By bridging server-side events with native mobile and desktop clients, it enables the delivery of alerts across various environments through a unified communication layer. The project distinguishes itself by offering a complete, private notification ecosystem that includes persistent message caching and robust access control.
Stores incoming notifications in a relational database to allow clients to retrieve historical messages after reconnecting.
NATS Server is a high-performance, lightweight messaging system designed for cloud-native applications, edge computing, and distributed microservices. It functions as a distributed publish-subscribe broker that routes messages using hierarchical, dot-separated subject strings, enabling decoupled communication between services without requiring centralized broker lookups. The system supports core messaging patterns including asynchronous publish-subscribe, request-reply, and load-balanced queue processing. The platform distinguishes itself through a decentralized architecture that eliminates t
Caches published messages locally during connection drops to ensure automatic transmission upon reconnection.
FoundationDB is an ACID-compliant distributed transactional key-value store. It functions as a scalable database engine that ensures strict serializability and data consistency across a cluster of servers using a shared-nothing architecture. The system is distinguished by its multi-region replication capabilities, allowing data to be synchronized across different datacenters for high availability and disaster recovery. It utilizes optimistic concurrency control to manage distributed transactions and employs a majority-based coordination system to maintain cluster state. The platform provides
Collects and coalesces transaction changes in client memory to send them as a single batch.
ShareJS ist eine kollaborative Dokumentendatenbank und Synchronisations-Engine, die für die Verwaltung gemeinsam genutzter Zustände in Echtzeit konzipiert ist. Sie bietet eine Operational-Transform-Sync-Engine, um die gleichzeitige Bearbeitung von Klartext- und JSON-Daten zu ermöglichen, sowie eine RESTful-Synchronisations-API für die Verwaltung von Dokumentzuständen via HTTP. Das System verfügt über eine Offline-First-Datensynchronisationsschicht, die lokale Änderungen bei Verbindungsunterbrechung in eine Warteschlange stellt und Bearbeitungen bei Wiederherstellung der Verbindung automatisch überträgt. Es enthält zudem eine Middleware-Zugriffskontrollschicht, die Datenbankanfragen abfängt, um Sicherheitsrichtlinien durchzusetzen und Anfragen umzuschreiben. Die Plattform deckt ein breites Spektrum an Funktionen ab, einschließlich Live-Query-Abonnements, Echtzeit-Änderungsbenachrichtigungen und gleichzeitiger Inhaltssynchronisation. Diese Komponenten ermöglichen die Erstellung von Daten-Feeds, bei denen Clients sofort benachrichtigt werden, wenn Backend-Dokumente, die bestimmten Abfragen entsprechen, aktualisiert werden.
Implements a persistent client-side buffer that queues document modifications during network interruptions for automatic synchronization upon reconnection.
Dieses Projekt ist ein umfassendes Framework für die iOS-App-Entwicklung, das sich auf den Aufbau mobiler Anwendungen mit benutzerdefinierten UI-Komponenten, asynchronem Task-Management und lokaler Datenpersistenz konzentriert. Es dient als technische Wissensdatenbank für Software-Engineering und bietet Tools zur Organisation und Veröffentlichung architektonischer Analysen und Notizen im Markdown-Format. Das Framework zeichnet sich durch eine robuste dokumentenbasierte Speicherschicht aus, die BSON-formatierte Datensätze nutzt, um CRUD-Operationen innerhalb eines NoSQL-Dokumentenspeichers durchzuführen. Es bietet umfangreiche Systemintegrationsfunktionen, einschließlich spezialisierter App-Extension-Kommunikation, Cross-Sandbox-Messaging und nativer Share-Sheet-Präsentation, was eine nahtlose Interaktion zwischen der Host-Anwendung und Systemdiensten ermöglicht. Das Projekt deckt eine breite Funktionsfläche ab, einschließlich fortgeschrittenem Concurrency-Management mit thread-sicherer Synchronisierung, Auslagerung des Hintergrund-UI-Renderings zur Wahrung der Reaktionsfähigkeit und umfassender Internationalisierungsunterstützung. Es enthält zudem entwicklerfokussierte Utilities für statische Typgenerierung, automatisierte Asset-Mappings und interaktive Prototypenkonstruktion sowie spezialisierte Tools für geografisches Beacon-Monitoring und adaptive Diagrammerstellung.
Fetches previously sent message objects from the shared file system using a unique identifier.
Converse.js is an embeddable, self-hosted XMPP chat client that runs entirely in the browser. It communicates with XMPP servers using standard XML stanzas over WebSocket or BOSH transports, and provides end-to-end encryption through the OMEMO protocol with double ratchet algorithm and X3DH key exchange. The client is built on a plugin-based architecture that allows extending core functionality at runtime without modifying the client itself, and uses a DOM-based rendering approach with an event-driven message bus for internal coordination. The client manages message history through XEP-0313 Me
Converse.js clears cached chat messages upon reconnection to prevent long or gapped histories.