10 repositorios
Distributed algorithms used to ensure all nodes in a cluster agree on a sequence of operations.
Distinct from Distributed State Synchronizers: Focuses on the consensus algorithm itself rather than general state synchronization mechanisms.
Explore 10 awesome GitHub repositories matching data & databases · Consensus Algorithms. Refine with filters or upvote what's useful.
This project is a software engineering educational resource providing a collection of canonical system implementations. It serves as a library of computer science case studies and polyglot code examples designed to demonstrate architectural tradeoffs and design patterns through concise versions of fundamental software components. The repository focuses on studying the implementation of core concepts such as consensus algorithms, interpreters, and database engines. It provides minimal versions of complex systems to facilitate the analysis of language design, data structure implementation, and
Implements a distributed consensus algorithm to synchronize state across multiple network hosts.
This project is a Docker educational resource and a collection of practical examples designed for learning containerization technologies. It serves as a guide for understanding container fundamentals, including the creation and management of custom images and the use of registries. The repository provides specialized references for container security hardening, such as managing kernel privileges and implementing supply chain security. It also includes tutorials for multi-container orchestration and a DevOps guide focused on CI/CD automation and image optimization. The material covers a broad
Analyzes distributed consensus algorithms to ensure data integrity across blockchain networks.
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
Coordinates state across a distributed cluster using consensus algorithms to ensure high availability and consistency.
TiKV is a cloud-native distributed transactional key-value store and storage engine. It provides a distributed database designed for horizontal scalability and strong consistency across a cluster of physical nodes. The system uses a Raft-based consensus mechanism to maintain data availability and state synchronization. It ensures ACID compliance for distributed transactions through a two-phase commit workflow and manages data distribution via multi-Raft sharding. The engine handles massive datasets using automated range splitting and cluster load balancing to distribute data across different
Maintains a consistent view of data across all nodes using a Raft-based consensus algorithm to prevent state divergence.
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 the Raft consensus algorithm to ensure a majority of nodes agree on a single system state.
ToyDB is a distributed SQL database that provides a system for storing and querying data across multiple nodes. It focuses on maintaining strong consistency and fault tolerance through the implementation of a distributed consensus algorithm. The project distinguishes itself by supporting historical data versioning, enabling time-travel queries to retrieve the state of the database from a specific point in the past. It utilizes multi-version concurrency control to manage ACID transactions and ensure data integrity during concurrent operations. The system covers relational data modeling with t
Implements consensus algorithms to ensure all nodes in the cluster agree on the sequence of operations.
This is an educational resource that provides a comprehensive guide to blockchain and distributed ledger technologies, covering everything from fundamental concepts to practical deployment. The guide systematically explains the core architecture of blockchain systems, including consensus-based distributed ledgers, cryptographic hash chains, Merkle trees, and smart contract execution engines, while also detailing permissioned channel architectures and modular service platforms for enterprise use. The resource distinguishes itself by offering a dual-track learning path that serves both non-tech
Compares consensus algorithms including Byzantine Fault Tolerance mechanisms for educational purposes.
Jocko es una plataforma de streaming de eventos cloud-native y un registro de commits distribuido implementado en Go. Funciona como un broker de mensajes distribuido que garantiza la durabilidad de los datos y la alta disponibilidad mediante la replicación de secuencias de registros a través de un clúster. El sistema está diseñado como un streamer de eventos sin Zookeeper, utilizando coordinación de consenso integrada para gestionar el estado del clúster y la elección de líder sin requerir servicios de coordinación externos. Implementa el protocolo de red de Kafka, lo que le permite comunicarse con clientes y herramientas del ecosistema existente. La plataforma proporciona capacidades para la gestión de registros distribuidos, incluyendo el uso de un registro de commits de solo adición (append-only) para la persistencia de datos. También incluye mecanismos automatizados de retención de datos que purgan registros antiguos basados en límites de tiempo o umbrales de espacio en disco. El proyecto se distribuye como un runtime de binario único.
Uses integrated consensus algorithms for cluster state management and leader election.
Hyperledger is an enterprise blockchain ecosystem consisting of a collection of open-source frameworks and libraries. It provides the distributed ledger technology and modular architectures necessary to build permissioned blockchain applications for industrial use cases. The project is characterized by a multi-framework ecosystem that separates consensus and membership services into interchangeable components. This modularity allows for the use of various agreement mechanisms, including crash-fault and Byzantine fault tolerant protocols, to maintain a synchronized and immutable record of tran
Provides a library of distributed algorithms to ensure all nodes in a cluster agree on a sequence of operations.
This project is a reference library of architectural blueprints, study materials, and design patterns for building scalable, high-availability distributed systems. It serves as a technical guide for scalability engineering, providing structural solutions for common engineering challenges. The repository focuses on distributed systems design, covering essential patterns for data replication, consensus algorithms, and transaction management. It distinguishes itself by offering detailed blueprints for specialized domains, including real-time data streaming, large-scale data storage, and high-ava
Implements distributed algorithms like Raft to ensure all nodes in a cluster agree on a sequence of operations.