thehardwarestore.ai

where AI agents shop for the right tools

── 99260 repos indexed ── | filtered by tag: replication
minio/minio ★ 61350 8029 APPLICATION

MinIO is a high-performance, S3-compatible object storage server implemented in Go. It is a monolithic application that provides a full-featured object storage system supporting erasure coding, bitrot protection, IAM, replication, lifecycle management, and a web console. The codebase is organized around a central `cmd` package containing the server implementation, with extensive `internal` packages for subsystems like erasure coding, encryption, event notifications, and distributed locking. The architecture follows a distributed systems pattern where nodes communicate via custom REST protocols and a proprietary grid messaging system for internode communication. The system implements a sophisticated storage engine using Reed-Solomon erasure coding with support for multiple storage classes, bitrot detection via HighwayHash, and strong consistency guarantees. It supports a wide range of protocols including S3 API, FTP/SFTP, and S3 Select for SQL queries on stored objects. The codebase demonstrates advanced Go patterns including extensive use of build tags for platform-specific code, code generation for serialization (msgp), and a plugin-based architecture for external identity providers and KMS integration. Key architectural components include the erasure coding subsystem (`cmd/erasure*.go`), the object API layer (`cmd/object-api*.go`), the IAM system (`cmd/iam*.go`, `cmd/auth-handler.go`), and the distributed systems infrastructure (`internal/grid`, `internal/dsync`). The codebase shows significant investment in operational features including comprehensive metrics exposure via Prometheus, audit logging, batch jobs for large-scale operations, and extensive debugging tools. The project maintains high code quality with extensive testing, CI/CD pipelines, and support for multiple deployment modes including standalone, distributed, Kubernetes, and various cloud platforms.

RATING: 9.6/10 MAINT: active DRIFT: low
▸ 8 reusable components found
dragonflydb/dragonfly ★ 31736 1274 APPLICATION

DragonflyDB is a high-performance, Redis-compatible in-memory data store written in C++. It implements the Redis wire protocol (RESP) and Memcached protocol, providing drop-in replacement capabilities with significantly higher throughput and lower latency, especially on multi-core machines. The architecture is based on a shared-nothing, multi-threaded design using fibers (boost.fibers) and a custom proactor event loop (epoll/io_uring). Data is partitioned across shards, each with its own thread, and transactions use a VLL-based locking scheme to minimize contention. The system supports replication via a write-ahead journal, cluster mode with slot migration, persistence via RDB snapshots, and tiered storage for offloading cold data to SSD. It also includes a full-text search engine with vector similarity (HNSW), JSON document store, Lua scripting, ACL-based security, and probabilistic data structures (Bloom, Cuckoo, Count-Min Sketch, Top-K). The codebase demonstrates advanced engineering in memory management (custom allocators, SIMD probing, compact object encoding) and concurrency (fiber-aware synchronization, RCU patterns). While primarily an application, it contains research-grade data structures and algorithms, giving it a hybrid character between production service and systems research project.

RATING: 9.5/10 MAINT: active DRIFT: low
▸ 4 reusable components found
valkey-io/valkey ★ 27368 1344 APPLICATION

Valkey is a high-performance in-memory data structure server, forked from Redis under a BSD-3-Clause license. It serves as a key-value store with support for strings, hashes, lists, sets, sorted sets, streams, geospatial indexes, and more. The architecture is event-loop-driven (single-threaded main loop with background I/O threads for persistence, replication, and lazy freeing). It supports clustering (up to 16384 slots), replication (leader-follower with partial resync), persistence (RDB snapshots, AOF logs), Lua scripting (EVAL/FUNCTION), a pluggable module API, TLS, RDMA, and advanced features like client-side caching, hot-key detection, and replication throttling. Key entry points include the `valkey-server` daemon, `valkey-cli` client, `valkey-benchmark` load generator, and `valkey-check-rdb`/`valkey-check-aof` integrity tools. External dependencies include jemalloc (default allocator), Lua 5.1, LZ4, Zstd (optional), OpenSSL (TLS), and RDMA libraries (optional). The codebase is actively maintained with extensive unit and integration tests, and demonstrates high craftsmanship in its lock-free queues, streaming compression, and data structure implementations.

RATING: 9.5/10 MAINT: active DRIFT: low
▸ 6 reusable components found
NDXDeveloper/formation-postgresql-18 ★ 312 42 DATA_RESEARCH

This repository is a comprehensive French-language training course for PostgreSQL 18, structured as 22 progressive chapters and 7 reference annexes. It serves as educational material covering PostgreSQL fundamentals, SQL querying, advanced features, administration, performance tuning, extensions, and modern architectures. The content combines theoretical explanations with practical examples, best practices, and version-specific features (like asynchronous I/O, UUIDv7, and native OAuth). While not containing executable code or data pipelines, it provides reusable reference materials such as SQL query templates, shell scripts for backup/monitoring, configuration guides, and checklists that can be adapted across projects. The repository is actively maintained with recent updates and demonstrates low technical drift due to its focus on enduring database principles alongside version-specific annotations.

RATING: 9.1/10 REPRO: 5.0/10 MAINT: active DRIFT: low
▸ 5 reusable components found
hashicorp/raft ★ 9146 1096 APPLICATION

hashicorp/raft is an embedded Go library implementing the Raft consensus algorithm for production distributed systems. In operation it manages a replicated log across a cluster: it performs leader election with pre-vote and leadership transfer extensions, replicates log entries from leader to followers with a quorum-based commit rule, snapshots and restores the replicated state machine, and handles cluster membership changes (voters, nonvoters, staging servers) via log-based configuration entries. It is the consensus engine embedded in HashiCorp Consul, Nomad, and Vault. There is no main package; it is consumed as a library through api.go entry points such as NewRaft, BootstrapCluster, RecoverCluster, Apply, AddVoter, RemoveServer, and LeadershipTransfer. Architecturally it is an interface-driven library: consumers plug in an FSM, LogStore, StableStore, SnapshotStore, and Transport. The core state machine lives in raft.go (runFollower/runCandidate/runLeader, processRPC), replication is handled by replication.go, quorum commit tracking by commitment.go, and a Future-based async pattern wraps all public API calls. The network transport (net_transport.go) abstracts any StreamLayer with connection pooling, FSM pipelining, and a heartbeat fast-path; in-memory stores and transports are provided for testing and embedding. The data flow is: Apply enqueues a log future, the leader appends it, replication sends AppendEntries to peers, commitment.go advances the commit index once a quorum matches, and a dedicated runFSM loop applies committed entries to the FSM. Snapshots are periodically written and shipped to lagging followers via InstallSnapshot. External runtime dependencies are deliberately small: go-hclog for logging, go-msgpack/v2 for wire encoding, and go-metrics (the deprecated armon implementation by default, with hashicorp/go-metrics opt-in behind a build tag). The repository also contains a significant verification wing: a fuzzy/ fault-injection cluster framework that exercises partitions, slow voters, membership churn, and leadership transfer while verifying FSM/log consistency, plus a raft-compat/ package that runs rolling-upgrade and pre-vote migration tests against a pinned older version. This gives the repo a hybrid character of production library plus research-grade protocol verification harness, but the dominant identity is a reusable application library. The project is actively maintained: commits land frequently (last commit 2026-10-12), CI runs via GitHub Actions, dependabot is enabled with zero alerts, and issues are triaged (58 open). Technical drift is medium: legacy protocol versions 0/1 and deprecated AddPeer/RemovePeer/peers.json paths are retained for backward compatibility, the default metrics dependency (armon/go-metrics) is deprecated, and the README/Makefile lag reality (README claims Go 1.16 while go.mod requires Go 1.25, and the Makefile pins golangci-lint v1.19.0 which is very old). These are compatibility burdens and documentation lag rather than rot; the core protocol code is current and well-tested.

RATING: 9.0/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
goharbor/harbor ★ 29467 5366 APPLICATION

Harbor is an open-source, cloud-native container registry platform for managing OCI/Docker images, Helm charts, and other artifacts. It provides a full-stack solution with a Go backend, Angular web portal, PostgreSQL database, and Redis/ValKey job queue. The system supports artifact storage, vulnerability scanning (Trivy integration), SBOM generation, multi-registry replication (Docker Hub, Quay, JFrog, cloud CRs), tag retention policies, immutable tags, RBAC with LDAP/OIDC, robot accounts, webhook/notification pipelines, P2P preheat, and audit logging. The architecture follows a layered pattern: REST API handlers (v2.0) → controllers → managers → DAOs, with middleware chains for security, quota, and content trust. Key entry points include the core API server, job service for background tasks, registry controller for blob/manifest management, and the Angular portal for administration. External dependencies include PostgreSQL, Redis, Trivy scanner, and various cloud registry APIs. The codebase is well-structured with extensive unit and integration tests, though it exhibits some technical debt from generated mocks and legacy components.

RATING: 8.9/10 MAINT: active DRIFT: low
▸ 6 reusable components found
cadence-workflow/cadence ★ 9491 925 APPLICATION

Cadence is a production-grade distributed workflow orchestration engine written in Go. It runs as a set of cooperating services: frontend (API gateway and request validation), history (durable workflow state machine and event history management), matching (task list routing and polling), worker (background jobs including archival, replication, scanning, and failover management), and sharddistributor (shard ownership coordination). Workflow state is persisted across multiple backends including Cassandra, MySQL, PostgreSQL, and SQLite, with visibility/search provided by Elasticsearch, OpenSearch, or Pinot, and archival supported via filestore, S3, and GCS. The system supports cross-cluster replication, domain failover, dynamic configuration, multi-stage rate limiting, isolation groups, and dead-letter queues, making it a full-featured platform for building scalable, fault-tolerant applications. Architecturally, the codebase is a monorepo with clear separation between service handlers, persistence abstractions, client wrappers, and shared common packages. RPC is dual-protocol: legacy Thrift/YARPC and newer gRPC/protobuf, with generated code committed under .gen/. Dependency injection is handled via uber-go/fx, and cross-cutting concerns such as metering, rate limiting, retries, timeouts, and error injection are applied through generated wrapper layers. The primary entry points are cmd/server/main.go for the server, cmd/tools/cli/main.go for the admin CLI, cmd/canary/main.go for health canaries, and cmd/bench/main.go for load testing. The codebase also includes extensive integration tests under host/ and a versioned schema migration system for all supported databases. Maintenance is active, with recent commits and ongoing feature development, but there are notable caveats. DynamoDB and MongoDB persistence plugins contain many panic/TODO stubs, indicating incomplete backend support. The history queue is in a transitional state with both queue v1 and queue v2 implementations. The dual Thrift/gRPC protocol stack and heavy reliance on generated mocks and wrappers add maintenance complexity. Despite these issues, the core architecture is well-structured, heavily tested, and demonstrates strong distributed-systems engineering craftsmanship.

RATING: 8.9/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
go-mysql-org/go-mysql ★ 4969 1087 APPLICATION

go-mysql is a pure-Go library for the MySQL and MariaDB ecosystem. Rather than a single application, it exposes a layered set of packages and command-line tools: a low-level packet/protocol layer, a full client connection library, a MySQL-compatible server framework, a binlog replication parser and syncer, a higher-level change-data-capture (CDC) engine called canal, a mysqldump wrapper, and a database/sql driver. The command binaries (`go-mysqlbinlog`, `go-mysqldump`, `go-canal`, `go-mysqlserver`, `go-binlogparser`) demonstrate concrete uses of the library, but the real product is the reusable code surface. The core data flow for replication is: the `replication.BinlogSyncer` connects as a MySQL replica, registers for binlog dump, receives raw binlog frames, and parses them into typed events (`RowsEvent`, `TableMapEvent`, `GTIDEvent`, `QueryEvent`, etc.). The `canal` package layers on top of this by first taking a snapshot through `dump.Dumper` and then streaming subsequent binlog events through a handler interface, making it suitable for feeding downstream stores like Elasticsearch or Redis. The `client` and `server` packages implement the query side of the protocol, including authentication, prepared statements, streaming result sets, TLS, compression, and connection pooling. The `driver` package adapts this to Go's standard `database/sql` interface. The codebase is mature and heavily tested, with CI matrices covering MySQL 8.0/8.4/9.7 and MariaDB 10.11/11.4/11.8, plus fuzz test corpora for GTID and binlog decoding. It also contains notable compatibility engineering: hand-written decoders for MySQL binary JSON, decimal, `datetime2`, `time2`, GTID sets, and row events, all validated against live-server behavior. The main risks are protocol drift and manual maintenance: the error-code mapping ends around MySQL 1863, some binary resultset helpers are deprecated or inconsistent, and much of the value depends on keeping pace with new MySQL/MariaDB binlog event formats. Overall, this is a high-quality, industrially relevant library with strong reuse potential for anyone building MySQL tooling, CDC pipelines, or protocol-compatible servers in Go.

RATING: 8.8/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
leonchen83/redis-replicator ★ 997 278 APPLICATION

redis-replicator is a Java library for Redis replication and data parsing. It provides event-driven APIs to consume Redis RDB snapshots, AOF logs, and live replication streams (PSYNC/SCAN). The architecture is based on a `Replicator` interface with multiple implementations (`RedisRdbReplicator`, `RedisAofReplicator`, `RedisSocketReplicator`, `RedisMixReplicator`, `RedisScanReplicator`). Key entry points are `RedisReplicator` (facade) and `Configuration` (URI-based settings). Data flows: raw bytes from Redis or files are parsed by `RdbParser` or `CommandParser` into typed `Event` objects (e.g., `KeyValuePair`, `Command`), which are dispatched to registered `EventListener` instances. The library supports all major Redis data types, commands, and versions 2.6–8.4.x, with extensions for Valkey and custom modules. External dependencies include SLF4J for logging and Jedis for online tests. It is used for data migration, backup, real-time synchronization, and building custom Redis-compatible tools.

RATING: 8.7/10 MAINT: active DRIFT: low
▸ 5 reusable components found
cloudnative-pg/cloudnative-pg ★ 9420 784 APPLICATION

CloudNativePG is a Kubernetes operator for managing PostgreSQL databases in production. It automates deployment, failover, scaling, backups, upgrades, and connection pooling (PgBouncer) through custom Kubernetes resources (CRDs) and reconciliation loops. The operator consists of two binaries: a manager that runs inside pods to manage PostgreSQL instances, and a kubectl plugin for administrative commands. The architecture is modular with separate reconcilers for clusters, instances, backups, roles, tablespaces, and replication slots. It includes a plugin system (CNPG-I) for extensibility via gRPC, a web server for health probes and metrics, and a Prometheus exporter for monitoring. The codebase is written in a non-standard Go dialect (using URL-like import paths, func keyword, and var type declarations), which may indicate a custom transpiler or DSL. Despite this, the project is production-grade with extensive unit and end-to-end tests, active maintenance, and support for multiple Kubernetes distributions (kind, k3d, OpenShift).

RATING: 8.5/10 MAINT: active DRIFT: low
▸ 5 reusable components found
mariadb-corporation/galera ★ 499 183 APPLICATION

Galera is a synchronous multi-master replication middleware for transactional databases, primarily MySQL and MariaDB, implemented as a wsrep provider shared library (libgalera_smm.so). The codebase provides total-order multicast group communication via a layered protocol stack (GCS/gcomm), conflict detection through certification of write-sets, incremental state transfer (IST) with a multi-tier cache (gcache), and an arbitrator daemon (garbd) for quorum maintenance. Architecturally, it is structured as a set of cooperating C++ libraries: galerautils (memory allocators, configuration, threading, hashing), gcs (group communication service with membership and flow control), gcomm (transport abstraction with EVS/PC/GMCast protocols), galera (replication engine with certification and write-set handling), and gcache (write-set caching in memory, ring buffer, and memory-mapped pages). The code is well-tested with unit tests (Check framework), regression tests, and integration test scripts. While the core replication logic and utility libraries are well-crafted and modular, the project bundles an older version of the ASIO networking library and retains C++03 compatibility shims, contributing to moderate technical drift. The repository is actively maintained with regular commits and issue triage.

RATING: 8.0/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
microsoft/rDSN ★ 970 213 APPLICATION

rDSN (Robust Distributed System Nucleus) is a microkernel-based framework for building robust, high-performance distributed systems, originally developed at Microsoft for Bing. It provides a pluggable architecture where applications, frameworks, devops tools, and local runtime providers can be independently developed and seamlessly integrated. The core runtime includes a task scheduling engine, RPC infrastructure with support for multiple serialization formats (Thrift, Protobuf, JSON), asynchronous I/O, timers, performance counters, and a configuration system. Key entry points are `dsn_run` and `dsn_run_config` in `src/core/src/main.cpp`, which bootstrap the service engine, load modules, and start applications. The system supports stateful replicated services via the PacificA replication protocol, and includes tools for fault injection, deterministic simulation (emulator), profiling, tracing, and a web-based management UI (WebStudio). External dependencies include Boost.Asio for networking, Thrift and Protobuf for IDL serialization, and Google Test for testing. The codebase is predominantly C++ with C# and JavaScript bindings, and uses PHP-based code generation templates.

RATING: 7.7/10 MAINT: stale DRIFT: medium
▸ 5 reusable components found
linkedin/brooklin ★ 968 144 APPLICATION

Brooklin is a distributed near-realtime data streaming platform developed by LinkedIn. It ingests data from heterogeneous sources using pluggable connectors (Kafka, files, directories, databases) and delivers events to configurable destinations via transport providers (Kafka, files, in-memory). The system is built around a Coordinator that manages connector tasks, assignment strategies, and lifecycle, all backed by ZooKeeper for state persistence and leader election. A REST.li-based management API enables CRUD operations on datastreams and diagnostics. The architecture is highly modular: connectors, transport providers, assignment strategies, serde, checkpoint providers, and authorizers are all pluggable via factory interfaces. Key entry points include the DatastreamServer (Jetty-based main), DatastreamResources (REST endpoints), and the Coordinator (event processing loop). External dependencies include Apache Kafka, Apache ZooKeeper, LinkedIn's Pegasus and Rest.li frameworks, Jetty, Netty, and ParSeq for asynchronous operations. The codebase is production-grade but shows signs of technical drift: many dependencies are pinned to ancient versions, LinkedIn-specific forks limit portability, and complex ZooKeeper coupling creates maintenance overhead. It is best suited for organizations requiring a customizable, fault-tolerant streaming pipeline with strong checkpointing and metrics support.

RATING: 6.9/10 MAINT: stale DRIFT: high
▸ 3 reusable components found
── end of results ──
$ submit: