92 Repos
Frameworks and protocols for managing data state, replication, and consistency models across distributed environments.
Explore 92 awesome GitHub repositories matching networking & communication · Data Synchronization and Consistency. Refine with filters or upvote what's useful.
Dieses Projekt ist ein von der Community kuratiertes Verzeichnis von Open-Source-Software, die für den Einsatz in privaten Serverumgebungen und Home-Labs konzipiert ist. Es dient als umfassende Ressource zur Entdeckung unabhängiger, selbst gehosteter Alternativen zu gängigen Cloud-Diensten und ermöglicht es Nutzern, die volle Datenhoheit und Kontrolle über ihre digitale Infrastruktur zu behalten. Das Verzeichnis ist durch eine hierarchische Taxonomie strukturiert, die eine riesige Sammlung von Anwendungen in logische Kategorien organisiert, von Medienmanagement und Datenanalyse bis hin zu privater Kommunikation und Tools für die Teamproduktivität. Es zeichnet sich durch einen kollaborativen Peer-Review-Prozess aus, bei dem Community-Mitglieder die Qualität und Relevanz jeder Einreichung validieren, um sicherzustellen, dass das Verzeichnis korrekt und zuverlässig bleibt. Das Projekt deckt ein breites Spektrum an Fähigkeiten ab, einschließlich Infrastruktur-Automatisierung, containerbasierter Service-Bereitstellung und deklarativem Konfigurationsmanagement. Diese Tools unterstützen Nutzer bei der Aufrechterhaltung reproduzierbarer Serverumgebungen und der Verwaltung komplexer Service-Abhängigkeiten auf privater Hardware. Das Verzeichnis wird als versionskontrolliertes Repository gepflegt, wodurch sichergestellt wird, dass alle Updates und Community-gesteuerten Änderungen nachverfolgt und transparent sind.
Distributes file storage across multiple networked machines to ensure data availability and redundancy across a private server infrastructure.
This project is a comprehensive educational repository providing technical documentation and learning materials across a wide range of computer science and software engineering domains. It serves as a centralized knowledge base for developers, covering core programming concepts, database management, distributed systems, and system design principles. The content spans fundamental Java programming, including collection frameworks and runtime environments, alongside deep dives into web communication protocols and browser internals. It also provides extensive resources on database internals, such
Analyzes consistency models that balance data availability and strictness within distributed systems.
Syncthing ist eine dezentrale Dateisynchronisierungs-Engine, die konsistente Datenzustände über mehrere Geräte hinweg durch Peer-to-Peer-Mesh-Netzwerke aufrechterhält. Es arbeitet als Hintergrund-Daemon, der Dateierstellungen, -änderungen und -löschungen automatisch zwischen vertrauenswürdigen Knoten repliziert, ohne dass zentrale Server erforderlich sind. Durch die Verwendung von inhaltsadressierbarer Blockindizierung und Block-Level-Delta-Synchronisation identifiziert und überträgt das System nur die geänderten Segmente von Dateien, was eine effiziente Datenverbreitung in heterogenen Umgebungen gewährleistet. Das Projekt zeichnet sich durch eine sicherheitsorientierte Architektur aus, die auf gegenseitiger TLS-Authentifizierung basiert, um die Geräteidentität zu verifizieren und sicherzustellen, dass alle Verbindungen kryptografisch an vertrauenswürdige Zertifikats-Fingerabdrücke gebunden sind. Es unterstützt flexible Synchronisationsmodi, einschließlich bidirektionaler Replikation, unidirektionaler Spiegelung für Backups und referenzbasierter Durchsetzung. Für zusätzliche Privatsphäre bietet das System eine ordnerbasierte Verschlüsselung für nicht vertrauenswürdige Geräte und ermöglicht eine granulare Kontrolle über den Netzwerkverkehr, einschließlich der Möglichkeit, Vorgänge auf lokale Netzwerke zu beschränken oder Relay-Infrastruktur für NAT-Traversal zu nutzen. Über die Kernfunktionen der Replikation hinaus bietet die Plattform umfassende Verwaltungstools, darunter ein webbasiertes Dashboard zur Überwachung von Verbindungsstatus und Durchsatz sowie eine Befehlszeilenschnittstelle für fortgeschrittene Konfigurationen. Es enthält robuste Versionierungsstrategien zum Schutz vor Datenverlust und unterstützt komplexe Bereitstellungsszenarien durch native Service-Integration und Observability-Metriken. Die Software ist für plattformübergreifende Kompatibilität ausgelegt und kann über Standard-Paketmanager oder containerisierte Umgebungen installiert werden.
Maintains consistent data states across multiple devices using a decentralized peer-to-peer mesh architecture.
Redis is an in-memory, key-value database designed to provide sub-millisecond latency for read and write operations. It functions as a versatile data platform, serving as a distributed cache, a message broker, a NoSQL document store, and a vector database. The system utilizes an event-driven, single-threaded loop to process requests efficiently, while maintaining data durability through append-only persistence logs and asynchronous snapshotting mechanisms. What distinguishes Redis is its ability to handle complex data structures—including strings, hashes, lists, sets, and sorted sets—alongsid
Coordinates shared application state across multiple service instances to ensure consistency in distributed environments.
This project is a data processing engine and AI application platform designed for building production-grade machine learning workflows. It provides a unified programming model that handles both historical batch data and live stream ingestion, enabling the development of real-time ETL pipelines and scalable data transformation workflows. The framework distinguishes itself through differential dataflow execution, which propagates only changes through a pipeline rather than recomputing entire datasets. It supports distributed state management across worker nodes and utilizes incremental stream p
Coordinates consistent application state across multiple worker nodes to facilitate horizontal scaling for complex transformations.
Shannon is an integrated security platform designed for autonomous penetration testing, static and dynamic analysis, and automated vulnerability remediation within self-hosted, private infrastructure. It functions as a unified security suite that orchestrates the entire lifecycle of vulnerability management, from initial discovery and reachability prioritization to the generation and verification of code-level patches. The platform distinguishes itself through its agentic approach to security, deploying autonomous agents to execute both black-box and white-box exploits against running applica
Maintains consistent security status by automatically syncing findings and remediation progress between scanning tools and external issue trackers.
Vagrant is a virtual machine environment manager and infrastructure as code tool used to create and configure consistent development environments. It acts as a virtual machine provisioner and hypervisor abstraction layer, allowing users to define machine specifications and automate software installation on guest systems via declarative configuration files. The project enables cross-hypervisor orchestration by decoupling the command interface from specific virtualization backends. It ensures environment consistency through the distribution of pre-configured machine images and the orchestration
Implements synchronization mechanisms to map host directories to guest machines for real-time development.
Seata is a distributed transaction coordinator and consistency framework designed to maintain data integrity across multiple microservices. It functions as a manager that synchronizes state across separate databases to ensure atomic commits or rollbacks of global transactions. The project provides a toolkit for implementing distributed transaction patterns, using a two-phase commit protocol and centralized status tracking to prevent data anomalies. It orchestrates eventual consistency through state-machine-based tracking and message-driven coordination to handle timeouts and failures in distr
Synchronizes state across separate databases using centralized status tracking to maintain data integrity.
Redisson is a Java client library for Redis and Valkey that provides a distributed data structure library, a distributed lock manager, and a distributed MapReduce framework. It enables application instances in a cluster to share state through thread-safe collections and objects. The project implements a JCache compliant caching layer for standardized data storage and retrieval. It also functions as a probabilistic data store, providing memory-efficient structures such as Bloom filters and HyperLogLog for high-volume data membership testing. The library covers distributed state management usi
Implements shared maps, sets, and queues to maintain consistent application state across a cluster.
Redisson is a Java library and Redis client that functions as a distributed Java object mapper, caching provider, and locking framework. It maps Java collections and concurrency primitives to distributed implementations backed by Redis and Valkey, providing synchronous, asynchronous, and reactive APIs for interacting with these data stores. The project distinguishes itself by providing a comprehensive suite of distributed coordination tools, including a locking framework for managing semaphores and countdown latches across multiple application nodes. It also serves as a distributed messaging
Synchronizes Java objects and collections across multiple application nodes in a cluster using Redis or Valkey.
This project is a reactive, offline-first NoSQL database engine designed for JavaScript applications. It provides a robust framework for managing application state by synchronizing data across browsers, mobile devices, and server-side runtimes. By treating local storage as the primary source of truth, it enables applications to remain functional without network connectivity, automatically reconciling changes with remote backends once a connection is restored. The database distinguishes itself through a modular architecture that supports cross-environment synchronization and high-performance d
Maintains consistent state across clients using bidirectional replication and automated conflict resolution.
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
Coordinates state across distributed nodes to ensure consistency despite network failures and clock drift.
This project is a feature-rich Go client library designed for interacting with Redis. It serves as a comprehensive interface for managing remote data stores, enabling developers to execute standard database commands, handle complex data structures, and perform asynchronous operations within Go applications. The library distinguishes itself through its support for advanced Redis capabilities, including connection pooling, pipelining, and transactional integrity. It provides specialized primitives for managing distributed clusters, including automated topology updates and request routing to sha
Maintains persistent user state and authentication tokens across distributed services to ensure seamless and performant login experiences.
Prefect is a workflow orchestration platform designed to define, schedule, and monitor complex data pipelines as Python code. It functions as a container-native engine that wraps individual tasks in isolated environments, ensuring consistent dependencies and resource allocation across diverse infrastructure. By utilizing a state-machine-based orchestration model, the system tracks execution progress through discrete transitions and persistent event logs to maintain reliable and observable task processing. The platform distinguishes itself through a decoupled worker-API architecture, which sep
Maintains event buffers to ensure correct causal processing sequence in distributed systems.
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
Provides key-value stores with versioning and time-to-live settings for sharing state between services.
Gun is a decentralized graph database and synchronization engine designed for real-time, peer-to-peer data management. It functions as a JavaScript library that enables applications to maintain consistent state across distributed nodes without relying on a central server. By utilizing conflict-free replicated data types and a gossip protocol, the system ensures that data updates propagate across the network and reconcile automatically. The project distinguishes itself through a focus on decentralized identity and security, utilizing public-key infrastructure to authenticate users and sign dat
Functions as a decentralized graph database engine for real-time peer-to-peer synchronization.
This project provides a comprehensive implementation of the AT Protocol, serving as a framework for building decentralized social networking applications. It enables the creation of distributed data repositories where users maintain cryptographic ownership of their identity and content, allowing for portable accounts that can be migrated between independent servers without central authority intervention. The platform distinguishes itself by decoupling content hosting from discovery through modular algorithmic curation. Users can select third-party services to filter and organize their feeds,
Manages user content and account information across network nodes to maintain shared state.
This project is a web-based collaborative editor and scientific document management system designed for LaTeX. It provides a centralized environment for writing, editing, and compiling academic manuscripts, enabling multiple users to work on the same project simultaneously through real-time synchronization. The platform distinguishes itself by treating documents as version-controlled repositories, allowing for granular history tracking and bidirectional synchronization with external version control systems. It features a secure, containerized compilation pipeline that isolates build processes
Maintains two-way synchronization between cloud-based documents and local folders for automated file updates.
PouchDB is a JavaScript NoSQL document store designed to persist JSON data within web browsers or Node.js environments. It functions as an offline-first data store that caches information on a local device and synchronizes with a remote server when connectivity is available. The database implements the CouchDB API to ensure compatibility for bidirectional data replication. This allows for the synchronization of documents between a local client and remote CouchDB servers to maintain consistency across multiple devices. The project provides capabilities for local browser data storage and remot
Ensures data availability across multiple hardware platforms by syncing local stores via a remote server.
node-redis is a Node.js client and database driver for interacting with Redis key-value stores. It functions as a connection manager and data iterator, allowing applications to execute database commands and manage atomic transactions on a remote server using asynchronous JavaScript. The project provides specialized capabilities for handling large datasets through an asynchronous interface and supports connection pooling to isolate blocking operations. It includes support for client-side caching and token-based authentication via Entra ID. The driver covers a broad range of operational areas,
Allows maintaining shared application state across multiple server instances via a central Redis store.