29 dépôts
Algorithms and services for maintaining global state, agreement, and topology across distributed nodes.
Explore 29 awesome GitHub repositories matching networking & communication · Consensus and Coordination Systems. Refine with filters or upvote what's useful.
This project serves as a comprehensive language ecosystem index, functioning as a centralized, community-curated directory for the Go programming language. It organizes a vast landscape of software components, libraries, and development tools into a structured, navigable hierarchy, enabling developers to efficiently discover resources tailored to specific functional domains. The repository distinguishes itself through a decentralized contribution model, where community-driven updates ensure the index remains current with the rapidly evolving software landscape. Beyond simple resource listing,
Supports building fault-tolerant, deterministic state machine replication engines for distributed systems.
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
Explains how distributed nodes maintain state synchronization and reach agreement using established consensus protocols.
This project is a comprehensive Java backend engineering guide and technical reference focused on high-concurrency design, distributed systems, and microservices architecture. It provides detailed strategies for decomposing monolithic applications, managing service discovery, and implementing the architectural patterns required for scalable backend environments. The repository distinguishes itself through an extensive collection of big data algorithmic references and database scaling strategies. It covers memory-efficient techniques for analyzing massive datasets, such as Top-K element extrac
Implements master node election to maintain index metadata and coordinate shard assignments across a cluster.
Elasticsearch is a distributed search engine and NoSQL document store designed for full-text search and real-time data retrieval. It functions as a RESTful data indexer and vector database, allowing for the storage and management of structured JSON documents across multiple nodes. The system distinguishes itself through its ability to serve as a log analytics platform for monitoring system health and security events. It incorporates vector search implementation using mathematical embeddings to support generative AI and augmented generation applications. The platform covers a broad range of c
Implements a system to maintain a consistent view of cluster topology and metadata across multiple nodes.
Elasticsearch is a distributed search engine and document store designed for the high-performance indexing and retrieval of massive volumes of unstructured data. It functions as a centralized analytics platform, providing a schema-flexible architecture that organizes information into searchable indices while maintaining global cluster state through a distributed consensus mechanism. The platform distinguishes itself through its integrated approach to observability, security, and advanced analytics. It combines full-text, vector, and hybrid search capabilities with machine learning-driven insi
Maintains a consistent view of global cluster topology and metadata using distributed consensus mechanisms.
MetaGPT is an agentic workflow engine and multi-agent orchestration framework designed to automate complex software engineering and data analysis tasks. It functions as an automated software factory that transforms high-level natural language requirements into functional web applications, technical documentation, and production-ready code. By utilizing a runtime environment that manages the lifecycle of specialized agents, the platform bridges the gap between user intent and finished software components. The system distinguishes itself through role-based agent orchestration and dynamic task d
Enables parallel execution of identical tasks to allow independent agents to cross-validate results and ensure output quality.
etcd is a distributed key-value store and configuration store designed to maintain a consistent set of data across a cluster of nodes. It functions as a reliable registry for storing and synchronizing critical settings and metadata used by distributed applications. The system implements the Raft consensus algorithm to ensure data consistency and leader election across servers. To protect data transfers and verify node identities, it utilizes a network security layer based on mutual TLS and client certificates. Its capabilities cover distributed configuration management, cluster state synchro
Coordinates global cluster state and metadata across multiple nodes for fault tolerance.
This project is a comprehensive technical interview question bank and reference library designed for software engineering roles at major technology companies. It serves as a study guide and knowledge base covering the core principles of high-performance systems programming and computer science theory. The collection focuses on deep technical domains, including C++ language mastery, distributed systems design, and database engineering. It provides detailed material on consensus protocols, cluster coordination, and the architectural differences between SQL and NoSQL implementations. The resour
Explains consensus protocols and leader election mechanisms used to maintain consistency in distributed clusters.
IPFS is a peer-to-peer hypermedia protocol and content-addressed storage system that identifies data by cryptographic hashes rather than network locations. It enables the creation of a decentralized web by organizing files and directories as directed acyclic graphs of linked content identifiers. The project differentiates itself through the use of a distributed hash table for locating peers and a system of signed records to map human-readable names to changing content. It also provides HTTP gateways that translate standard web requests into peer-to-peer queries, allowing decentralized data to
Provides systems to maintain a consistent view of global cluster topology and metadata across multiple nodes.
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 agreement among distributed nodes to maintain consistent state across clusters.
Vitess is a distributed MySQL orchestrator and clustering system designed for horizontal database scaling. It functions as sharding middleware that distributes data and load across multiple MySQL instances to handle growth beyond the capacity of a single machine. The system provides a proxy layer that abstracts data distribution, allowing applications to query a cluster as a single logical database without knowing the physical location of the data. This is achieved through a routing mechanism that intercepts queries and directs them to the appropriate shards based on keyspace mappings. The p
Maintains a consistent global view of cluster state and shard locations using a distributed consensus store.
This repository contains the technical specification and architectural blueprint for a decentralized network protocol designed to coordinate autonomous agents. It defines a system model for a global autonomous agentic internet, covering protocol engineering, tokenomics, and the structural design of the network infrastructure. The protocol focuses on a programmable payment system that utilizes trustless atomic swaps and specific spending conditions to release funds. It incorporates a privacy-preserving framework for off-chain transaction execution, allowing service providers and users to maint
Establishes rules for consensus layers and data availability to coordinate aggregation shards.
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
Assigns processes to maintain cluster state and handle partitioning with automated updates to the coordinator list.
Skynet is a distributed game server framework designed for building scalable online game backends. It utilizes distributed actor-based clusters and real-time network communication to manage high-concurrency session coordination across multiple nodes. The framework includes a cluster management orchestrator for coordinating services via cluster-wide messaging and dynamic configuration updates. It features a multi-protocol network gateway supporting TCP, UDP, and WebSockets, alongside a data encoding layer using BSON and Sproto serialization for efficient information transfer between distribute
Coordinates services across multiple nodes using cluster-wide messaging and dynamic configuration updates to maintain cluster state.
ZooKeeper is a distributed coordination service that provides a centralized system for managing configuration, naming, and synchronization across a cluster of distributed processes. It functions as a cluster consensus service, a distributed configuration store, and a distributed lock manager to maintain a consistent state across multiple network nodes. The service implements a consensus protocol to ensure data consistency and uses a replicated state machine to maintain identical copies of the system state across all servers. It provides a distributed lock management system to coordinate exclu
Maintains a consistent and reliable view of cluster topology and membership across the server network.
This is a Raft consensus library and distributed consensus engine implemented in Go. It provides the primitives necessary to build fault-tolerant distributed services by implementing a replicated state machine that ensures a group of servers agree on a shared system state through leader election and log replication. The project distinguishes itself through a pluggable architecture for storage backends and snapshot storage, decoupling the consensus logic from physical persistence. It includes specialized mechanisms for leadership transfer, protocol version management to support rolling upgrade
Implements core consensus algorithms to maintain a consistent global state across distributed nodes.
Aeron provides infrastructure components for high-speed inter-process and network communication, archiving message streams, and coordinating replicated services. It functions as a system for moving data between remote applications or local processes with low latency and high throughput. The project distinguishes itself through a combination of shared memory for ultra-low latency inter-process communication and a reliable UDP messaging transport that supports both unicast and multicast. It further includes a consensus-based service orchestrator to maintain consistency across replicated state m
Provides coordination and consensus systems to manage replicated state machines across distributed nodes.
Patroni is a high availability manager and cluster orchestrator for PostgreSQL. It functions as a failover controller that monitors database health and manages leader transitions to ensure continuous availability and consistency across multiple nodes. The system relies on a distributed configuration store client to synchronize cluster state and perform leader election. It supports integration with external consensus services such as Etcd, Consul, and ZooKeeper, and provides specific orchestration capabilities for deploying clusters within Kubernetes environments. The project covers the manag
Uses external consensus services like Etcd and ZooKeeper to maintain consistent global cluster state and leader election.
ShardSphere-ElasticJob is a Java-based distributed scheduling framework designed to manage workloads across multiple nodes. It provides a system for splitting scheduled tasks into shards and distributing them across a cluster to achieve high-throughput execution. The framework includes a distributed task failover system that detects node failures and automatically reassigns missed job executions to healthy cluster instances. It also features a cluster resource manager to dynamically allocate execution resources based on system load and capacity. The system covers high-availability task execu
Uses Zookeeper to maintain a consistent view of global cluster topology and worker registration for task assignment.
Patroni is a high availability manager and cluster orchestrator for PostgreSQL. It functions as an automatic failover controller and replication manager that ensures continuous database availability by automating leader election and promoting standby nodes during failures. The system maintains a consistent cluster state by acting as a distributed consensus coordinator. It synchronizes configuration and manages leader elections through integration with distributed configuration stores such as etcd, ZooKeeper, or Consul. Its broader capabilities include managing both synchronous and asynchrono
Maintains a consistent view of cluster topology and metadata by integrating with distributed configuration stores.