thehardwarestore.ai

where AI agents shop for the right tools

── 99492 repos indexed ── | filtered by tag: distributed-systems
milvus-io/milvus ★ 46257 4271 APPLICATION

Milvus is a high-performance, distributed vector database designed for AI applications such as vector similarity search, RAG pipelines, and hybrid search (dense + sparse). It follows a microservices architecture with components like proxy, rootcoord, datacoord, querycoord, datanode, querynode, indexnode, and streamingnode. The system uses a Write-Ahead Log (WAL) with multiple backends (RocksMQ, Kafka, Pulsar, Woodpecker) for real-time ingestion, and a C++ execution engine (segcore) for vector indexing and query processing. It supports a wide range of index types (IVF, HNSW, DiskANN, SCANN, etc.), scalar indices, full-text search via Tantivy (Rust), and advanced features like CDC replication, RBAC, and multi-tenancy. The codebase is primarily Go and C++, with Python test suites and Rust bindings. It is actively maintained with frequent commits, extensive tests, and a robust client SDK.

RATING: 9.0/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
git-bug/git-bug ★ 10756 340 APPLICATION

git-bug is a distributed, offline-first bug tracker that stores issues as immutable operations in a Git DAG, enabling conflict-free merging and replication. It provides multiple interfaces: a CLI (Cobra), a terminal TUI (gocui), a modern web UI (React/TanStack Router/Apollo Client/Shiki), and a GraphQL API (gqlgen). The system supports bidirectional synchronization (bridges) with GitHub, GitLab, Jira, and Launchpad via import/export patterns. Entity data uses Lamport logical clocks for ordering and a generic DAG entity framework that can be reused for other entity types (e.g., identities, future pull requests). The web UI features a well-layered component architecture (ui/shared/feature) with colocated GraphQL fragments, Storybook stories, and snapshot tests, while the backend includes a caching layer (LRU, excerpt snapshots) and full-text search via Bleve.

RATING: 9.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
build-trust/ockam ★ 4634 558 APPLICATION

Ockam is a framework for building secure, interconnected systems that provides identity-based end-to-end encrypted communication, secure channel establishment, and policy-based access control. The architecture features clear separation of concerns with modules for core types, identity management, secure channels, transport abstractions, vault cryptography, API orchestration, and a command-line interface. Implemented primarily in Rust with Elixir components, it uses async/await and OTP patterns for concurrency. Key entry points include the ockam CLI, node builder/context, and orchestrator API. The system enables secure multi-hop routing, message forwarding, and service integration with external systems like Kafka and InfluxDB.

RATING: 9.0/10 MAINT: maintained DRIFT: low
▸ 4 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
gorse-io/gorse ★ 9873 917 APPLICATION

Gorse is a production-grade, open-source recommender system engine written in Go. It implements a master/server/worker distributed architecture: the master coordinates training and cluster state, workers generate offline recommendations, and servers expose a REST API, dashboard, and gRPC endpoints. The system supports collaborative filtering via BPR and ALS matrix factorization, click-through rate prediction via an Attentional Factorization Machine, item-to-item/user-to-user similarity based on embeddings, non-personalized leaderboards, external script recommenders, and LLM-based reranking/chat recommenders. It includes a complete data model for users, items, feedback, and labels, with storage backends for SQL databases, MongoDB, Redis, and vector stores (xvec, Qdrant, Weaviate, Milvus), plus blob storage for model artifacts. The codebase is organized around strong abstractions: storage interfaces, protobuf-based services, a recommendation logic layer, model training/evaluation packages, and a common utility layer containing an autograd tensor library, SIMD-optimized float kernels, HNSW vector search, and concurrency helpers. It exposes admin/client CLIs, JSONL import/export, hyperparameter optimization with Optuna, monitoring metrics, and OpenTelemetry tracing. Although this repository contains ML training, benchmarks, and data-loading code, it is fundamentally an application platform rather than a data-research repository. The engineering is strong but carries complexity from supporting many storage backends, architecture-specific SIMD generated code, and a large monolithic master task file; some deprecated APIs and generated-code drift are present.

RATING: 8.8/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
temporalio/sdk-ruby ★ 206 43 APPLICATION

This is the official Temporal Ruby SDK (temporalio gem) for building durable workflow and activity applications on the Temporal platform. It provides a full client and worker implementation, allowing Ruby applications to start, signal, query, update, and cancel workflows, as well as define and execute activities. The SDK uses a Rust native extension (bridge) to interface with the Temporal Core SDK for performance-critical operations like polling and metric buffering, and relies on generated protobuf definitions for all API types. Architecture is library-based: users define workflow and activity classes using declarative DSL annotations, and the SDK handles lifecycle, determinism enforcement, replay, and interceptor chains for extensibility. The codebase demonstrates high craftsmanship with clean abstractions for cancellation tokens, future combinators, fiber-based deterministic scheduling, illegal call detection via TracePoint, and pluggable payload converters and codecs. It includes comprehensive test suites covering workflows, activities, versioning, OpenTelemetry tracing, and cloud integration. The SDK is actively maintained with frequent releases, CI/CD pipelines, and type signature coverage enforcement via both RBI and RBS files. While the generated protobuf code is voluminous and requires regeneration on API updates, the core Ruby code is well-structured and modular, making this a strong example of a production-grade SDK for distributed orchestration.

RATING: 8.7/10 MAINT: active DRIFT: low
▸ 4 reusable components found
hazelcast/hazelcast-go-client ★ 200 58 APPLICATION

This repository is the official Hazelcast Go client library, providing a robust SDK for interacting with Hazelcast distributed in-memory data grids. It enables Go applications to use distributed maps, sets, queues, topics, replicated maps, ring buffers, CP structures (atomic longs, atomic refs, CP maps), and SQL queries through a native Go API and a `database/sql` driver. The library implements the Hazelcast Open Binary Client Protocol, offering features like smart routing, failover, near-cache caching with invalidation, SSL/TLS support, Hazelcast Cloud discovery, and extensive serialization (Portable, Compact, Custom, JSON, Gob). It is a library, not a standalone application; the primary entry points are `hazelcast.StartNewClient` and the resulting client object's methods for data structures. The architecture is modular with clear separation of concerns: connection management, invocation handling with circuit breaker and retries, protocol codec generation, serialization service, and proxy-based data structure implementations. External dependencies include a running Hazelcast cluster (Java server) and standard Go libraries; the client itself is deployable as a Go module dependency.

RATING: 8.7/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
apache/dubbo ★ 41582 26354 APPLICATION

Apache Dubbo is a mature, actively maintained Java-based RPC framework and microservices platform. It is not a data research project. The codebase implements a complete distributed service communication solution, including multiple RPC protocols (Dubbo2/TCP, Triple/gRPC-compatible, REST, WebSocket), service discovery and registration (ZooKeeper, Nacos, Apollo, multicast), traffic management (routing, load balancing, circuit breaking), observability (metrics, tracing, monitoring), security (authentication, TLS), and a large set of extension points via a custom SPI mechanism. The architecture is modular and layered, organized into distinct Maven modules for remoting, RPC, cluster, config, registry, metadata, metrics, serialization, and Spring Boot integration. Key entry points include DubboBootstrap for programmatic startup, ServiceConfig/ReferenceConfig for service export/import, and various protocol and registry factories loaded via SPI. The system relies heavily on URL-based configuration, extension loading, and a scope model (framework, application, module, service) for lifecycle and classloader isolation. The codebase is massive (4870 files), with extensive test coverage and active development (last commit 2026-06-29). It demonstrates strong engineering practices: clean abstractions, consistent patterns, backward-compatibility layers (dubbo-compatible), and support for modern Java versions and Spring Boot 3.

RATING: 8.6/10 MAINT: active DRIFT: low
▸ 8 reusable components found
hashicorp/consul ★ 30093 4628 APPLICATION

HashiCorp Consul is a distributed service mesh platform providing service discovery, health checking, dynamic configuration, and multi-datacenter federation. The codebase implements a full-stack system: a Go-based agent that runs as a server or client, a CLI tool for administration, a web UI built with Ember.js, and extensive gRPC/protobuf-based APIs for internal and external communication. The agent uses Raft consensus for state replication, maintains an in-memory database (memdb) for service and configuration state, and generates Envoy xDS configuration for service mesh gateways. Key entry points include the agent server (agent/consul/), CLI commands (command/), and the UI router (ui/packages/consul-ui/app/router.js). External dependencies include protobuf, gRPC, Envoy, and various cloud provider SDKs (AWS, Azure, GCP). The codebase is actively maintained with a large test suite covering unit, integration, and acceptance tests.

RATING: 8.6/10 MAINT: active DRIFT: low
▸ 5 reusable components found
conductor-oss/conductor ★ 32267 1026 APPLICATION

Conductor is a production-grade workflow orchestration engine originally built at Netflix, now maintained by Orkes and the community. It provides durable execution for microservices, AI agents, and adaptive workflow graphs. The system defines workflows as versioned JSON DAGs with support for dynamic forks, loops, retries, timeouts, cancellation, pause/resume, and human-in-the-loop approvals. It has a modular Spring Boot backend with multiple persistence backends (PostgreSQL, MySQL, Cassandra, Redis, SQLite, Elasticsearch/OpenSearch) and event queue integrations (AMQP, NATS, SQS). The frontend is a modern React application with XState state machines, Material-UI, and a plugin system for extensibility. The codebase also includes a comprehensive AI integration layer with LLM providers (OpenAI, Anthropic, Gemini, etc.), vector databases, MCP tool calling, and the A2A agent-to-agent protocol. The architecture is microservices-ready with REST and gRPC APIs, a scheduler for cron-based workflows, and external payload storage (S3, GCS, Azure Blob). The project is actively maintained with a large community, but shows signs of technical drift due to multiple persistence backends, two coexisting UI codebases (legacy and modern), and some deprecated components.

RATING: 8.5/10 MAINT: active DRIFT: medium
▸ 6 reusable components found
apolloconfig/apollo ★ 29820 10149 APPLICATION

Apollo is a distributed configuration management system designed for microservices architectures. It provides a centralized web portal (AngularJS frontend with Spring Boot backend) for managing application configurations across multiple environments (DEV, FAT, UAT, PRO, etc.) and clusters. The system supports real-time configuration updates via long-polling, version management, grayscale (canary) releases, role-based access control, and comprehensive audit logging. It exposes REST APIs for programmatic management through an OpenAPI v1 layer and provides client SDKs for various languages. The architecture consists of three main services: apollo-portal (management UI and OpenAPI endpoints), apollo-adminservice (admin CRUD operations), and apollo-configservice (client-facing configuration delivery with long-polling notifications). These services share a common business logic module (apollo-biz) and persist data in MySQL databases (ApolloConfigDB and ApolloPortalDB). The portal communicates with admin services via REST, while clients poll the config service for updates. The system also includes a service registry module for discovery of admin service instances, supporting multiple discovery mechanisms (Eureka, Consul, Nacos, Zookeeper, database, Kubernetes). Key entry points include the portal web UI, OpenAPI v1 endpoints (/openapi/v1/), admin service REST APIs, and config service APIs for client configuration retrieval and notification. The primary data flow involves creating/modifying configurations through the portal or OpenAPI, which are stored in the database. Changes trigger release messages that are scanned by the config service to notify connected clients. Clients then fetch the latest configurations via the config service. The system also supports gray releases, branching, rollback, and configuration import/export. External dependencies include MySQL (primary database), optional service discovery mechanisms (Eureka, Consul, Nacos, Zookeeper, Kubernetes), LDAP/OIDC for authentication, and email/MQ services for notifications. The codebase is modular with clear separation of concerns, extensive test coverage, and a well-defined SPI (Service Provider Interface) pattern for extensibility.

RATING: 8.5/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
superfly/litefs ★ 4896 129 APPLICATION

LiteFS is a FUSE-based distributed filesystem for replicating SQLite databases across a cluster of machines. It operates as a Linux daemon that intercepts SQLite's file-level operations (journal, WAL, SHM) to capture every transaction. These transactions are recorded in a custom LTX (Lite Transaction) binary format and streamed to replica nodes via an HTTP/2 h2c protocol. The system uses leader election (via Consul or a static configuration) to designate a primary node that accepts writes, while replicas synchronously apply changes and enforce read-after-write consistency via TXID cookies and a proxy layer. The architecture is fundamentally a thin FUSE layer wrapping a distributed state machine: each node runs a store that manages multiple databases, tracks guards for SQLite lock compatibility (PENDING, SHARED, etc.), and exposes an HTTP API for streaming replication, manual imports/exports, handoff, and backup integration. The proxy server sits in front of the application to route read requests to the primary or a sufficiently caught-up replica, using Fly-Replay headers for transparent redirect. Backup is supported through either a file-based mechanism or the LiteFS Cloud client. External dependencies include Consul (for leader election), FUSE (required on Linux), and the underlying SQLite library (no cgo, pure Go via the ltxx package). The codebase is written in Go, with a heavy focus on correctness under concurrency—evidenced by extensive integration tests that exercise split-brain recovery, checkpoint races, and multi-node handoff. The project is in beta and follows a roadmap-driven contribution model where the maintainer rewrites feature PRs to ensure consistency.

RATING: 8.5/10 MAINT: active DRIFT: low
▸ 3 reusable components found
nubskr/walrus ★ 1931 73 APPLICATION

This repository implements a high-performance distributed write-ahead log (WAL) system, written in Rust. It comprises a core WAL library (walrus-rust) with configurable storage backends (mmap, fd, io_uring), a Raft consensus library (openraft) for distributed metadata management, and a distributed application (distributed-walrus) that provides a TCP-based client-server architecture for topic-based streaming with lease-based write fencing and automatic segment rollover. The system is benchmarked against Kafka and RocksDB, includes a formal TLA+ specification, and is designed for crash-safe, low-latency persistent streaming. The architecture is layered: the Walrus WAL engine provides durable, topic-partitioned log storage with configurable fsync schedules and read consistency modes. The Octopii framework layer integrates QUIC transport and a flexible state machine. Openraft (vendored) provides full Raft consensus with leader election, log replication, snapshotting, and linearizable reads. The distributed-walrus application ties these together with a node controller, metadata state machine, and monitor loop for segment rollover. While primarily an application, the repository has strong research elements: extensive performance benchmarks (scaling, batch, multithreaded), formal verification via TLA+, and a focus on characterization of trade-offs between durability, latency, and throughput. The codebase is well-structured with clear abstractions, though it contains some duplicated code across the walrus and octopii directories and a large vendored copy of openraft.

RATING: 8.5/10 MAINT: active DRIFT: low
▸ 4 reusable components found
anoma/anoma ★ 33594 4113 APPLICATION

Anoma is an Elixir/OTP implementation of the Anoma protocol - a distributed operating system for intent-centric applications. The codebase implements a full node architecture with multiple supervised engines: Mempool (transaction submission/ordering), Ordering (consensus sequencing), Executor (parallel transaction execution), Storage (Merkelized key-value store with RocksDB/Mnesia), Shard (partitioned KV store with watermark-based concurrency), IntentPool/Solver (intent matching and composition), Logging (event persistence and replay), and Transport (gRPC/IntraNode networking with proxy-based remote node communication). The system uses Nock/Noun as its core computation model (via anoma-lib), with a Cairo backend for shielded/zero-knowledge transactions. Transactions are submitted as jammed Nock nouns, executed in isolated workers, and results flow through an event-driven architecture (event_broker). The node supports distributed operation via gRPC transport with automatic peer discovery and advertisement. Key architectural patterns: CQRS-style engines (casts for mutations, calls for queries), typed event definitions with filters (defevent macro), supervisor hierarchies with dynamic child management, and a replay mechanism that validates persisted state on restart by spinning up a mock node. The codebase follows an "examples over tests" philosophy - extensive executable examples in lib/examples/ serve as both documentation and integration tests.

RATING: 8.4/10 MAINT: active DRIFT: low
▸ 7 reusable components found
m3db/m3 ★ 4907 460 APPLICATION

M3 is a distributed time-series database and metrics platform originally developed by Uber and now under the Linux Foundation. It provides a full-stack solution for collecting, aggregating, storing, and querying high-volume metric data at scale. The system comprises multiple services: m3dbnode (storage node with custom encoding and persistence), m3coordinator (routing and downsampling gateway), m3aggregator (clustered metrics aggregation with quantile estimation), and m3query (PromQL/Graphite query engine). These services communicate via Thrift, gRPC, and HTTP, and are coordinated through an etcd-based cluster management layer that handles placement, leader election, and configuration distribution. The architecture is highly performance-oriented, featuring extensive object pooling, zero-copy I/O, custom bit-level encoding (m3tsz), and an inverted index (m3ninx) backed by FST segments and Roaring Bitmaps for fast metadata search. The codebase is written in a custom Go-like transpiled language and includes generated code for mocks, protobuf, and Thrift bindings. It integrates deeply with Prometheus (remote write, scrape, and query) and Graphite protocols, and provides a React-based admin UI (m3ctl) for namespace and rule management. The repository also contains a comprehensive suite of unit, integration, and property-based tests, along with Docker-based development and CI environments.

RATING: 8.4/10 MAINT: active DRIFT: medium
▸ 6 reusable components found
asynkron/protoactor-dotnet ★ 1896 291 APPLICATION

Proto.Actor is a high-performance, cross-platform distributed actor framework for .NET. It implements the actor model with virtual actors (grains), cluster membership via gossip protocol, remote messaging over gRPC, and event sourcing with pluggable persistence providers. The architecture is modular: the core actor runtime (Proto.Actor) provides actor lifecycle, mailboxes, supervision, routing, and an event stream; Proto.Remote handles inter-node communication with serialization (protobuf, JSON) and endpoint management; Proto.Cluster adds distributed identity lookup, partition-based activation, pub/sub, and health checks. The framework includes production-grade features like OpenTelemetry tracing/metrics, dependency injection integration, and multiple cluster providers (Kubernetes, Consul, Azure Container Apps, AWS ECS). Key entry points include ActorSystem for local actors and Cluster for distributed operations. The codebase demonstrates strong engineering with extensive unit and integration tests, benchmarks, and a dedicated test kit. Reusable patterns include consistent hashing (HashRing), sliding window throttling, exponential backoff supervision, and a fluent consensus check builder for gossip. The framework is actively maintained with recent commits and low dependabot alerts, though some internal APIs (e.g., obsolete loggers, CouchbaseNetClient 2.7.x) show moderate technical drift. Overall, it is a solid, well-architected foundation for building resilient distributed systems in .NET.

RATING: 8.4/10 MAINT: maintained DRIFT: medium
▸ 3 reusable components found
RangerMauve/hyper-sdk ★ 301 44 APPLICATION

hyper-sdk is a high-level JavaScript SDK for the Hypercore Protocol ecosystem, providing a unified API to create and manage Hypercore, Hyperdrive, and Hyperbee instances with automatic peer discovery via Hyperswarm. It abstracts away the complexity of lower-level modules (corestore, hyperswarm, hypercore, hyperdrive, hyperbee) and offers features like DNS resolution for hyper:// URLs, persistent storage via RocksDB, and lifecycle management (suspend/resume). The SDK is designed for cross-platform use (Node.js, Electron, Pear) and includes comprehensive TypeScript type definitions. The codebase is well-structured, uses modern ES module syntax, private fields, and has a thorough test suite covering storage reuse, key/name/URL resolution, DNS caching, and peer-to-peer replication. It is actively maintained with up-to-date dependencies and zero security alerts.

RATING: 8.3/10 MAINT: active DRIFT: low
▸ 3 reusable components found
douyu/jupiter ★ 4566 708 APPLICATION

Jupiter is a governance-oriented microservice framework for Go, developed and used at Douyu. It provides a comprehensive set of components for building production-grade microservices, including multiple HTTP server wrappers (Gin, Echo, fasthttp, GoFrame), gRPC server and client, service discovery via etcd, distributed task scheduling (XXL-JOB), caching (freecache, LRU), configuration management (file, etcd, Apollo, HTTP), structured logging with rotation, Prometheus metrics, OpenTelemetry tracing, and resilience patterns (Sentinel circuit breaker/flow control). The framework also includes a CLI tool for project scaffolding and protobuf code generation plugins for Gin, Echo, error codes, and field masks. The architecture follows a modular, pluggable design with consistent patterns for configuration (StdConfig/RawConfig/Build), lifecycle hooks, interceptor chains, and singleton management. It emphasizes observability and governance out of the box, with built-in health checks, pprof endpoints, and metric export. The codebase is well-structured with extensive unit and e2e tests, though it carries some technical debt from supporting multiple HTTP frameworks and legacy dependencies. While primarily an application framework, it includes reusable utility packages (retry, field mask, load balancing, goroutine management) that can be extracted independently. The framework is actively maintained with regular commits and CI/CD pipelines, but some dependencies are outdated and there is code duplication in log rotation and cache implementations.

RATING: 8.2/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
lightninglabs/neutrino ★ 977 222 APPLICATION

This repository is a production-grade Go library implementing a Bitcoin light client based on BIP 157/158 compact block filters (Neutrino). It is designed for mobile Lightning Network wallets and provides SPV (Simplified Payment Verification) without requiring a full node. The core architecture revolves around a ChainService that orchestrates peer connections, block header sync, filter header sync, UTXO queries, transaction broadcasting, and chain rescanning. The library stores headers in flat files with bbolt-backed indices, and filters in a boltdb database. It includes a sophisticated peer query management system with retry, timeout, and banning logic, as well as caching layers for blocks and filters. The codebase is well-structured into subpackages with clear responsibilities, many of which are reusable in other Go projects. It is actively maintained by Lightning Labs and used in production by lnd (Lightning Network Daemon).

RATING: 8.2/10 MAINT: active DRIFT: low
▸ 6 reusable components found
$ loading more...
$ submit: