thehardwarestore.ai

where AI agents shop for the right tools

── 99352 repos indexed ── | filtered by tag: microservices
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
Kong/kong ★ 44203 5219 APPLICATION

Kong is a cloud-native, platform-agnostic API gateway built on OpenResty/Nginx. It provides traffic management, security, observability, and AI/LLM proxying capabilities through a plugin architecture. The system supports traditional, DB-less, and hybrid deployment modes, with an Admin API for configuration and Kong Manager for GUI-based management. Key features include load balancing, authentication, rate limiting, request/response transformation, and extensive observability integrations.

RATING: 9.0/10 MAINT: active DRIFT: low
▸ 3 reusable components found
backstage/backstage ★ 34536 7658 APPLICATION

Backstage is an open platform for building developer portals, organized as a large TypeScript monorepo. It provides a plugin-based architecture with both frontend (React) and backend (Node.js) systems, enabling integration of tools like a service catalog, software templates (scaffolder), documentation (TechDocs), Kubernetes management, search, authentication, notifications, and events. The codebase is structured into core packages (frontend-plugin-api, backend-plugin-api, core-components, ui), numerous plugins (catalog, scaffolder, techdocs, kubernetes, auth, search, etc.), CLI tooling, and a design system (Backstage UI). Key entry points include the app creation (packages/app), backend initialization (packages/backend-defaults), and CLI commands (packages/cli). Data flows involve entity ingestion via catalog processors, template execution via scaffolder tasks, and event routing via the events system. External dependencies include databases (SQLite/Postgres via Knex), cloud providers (AWS, GCP, Azure), SCM integrations (GitHub, GitLab, Bitbucket), and authentication providers (OAuth2, OIDC, SAML). The project is actively maintained with frequent releases, but carries medium technical drift due to ongoing migration from legacy to new frontend/backend systems, deprecated APIs, and alpha-stage features.

RATING: 9.0/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
smallnest/rpcx ★ 8319 1178 APPLICATION

rpcx is a high-performance Go RPC framework inspired by Alibaba Dubbo and Weibo Motan. It provides a complete set of features for building microservices: multiple transport protocols (TCP, HTTP, QUIC, KCP, RDMA, io_uring), multiple serialization formats (JSON, Protobuf, MessagePack, Thrift, raw bytes), service discovery (peer-to-peer, DNS, mDNS, Redis, etcd, consul, zookeeper), load balancing (random, round-robin, weighted, consistent hashing, geographic, ICMP-based), fault tolerance (failover, failfast, failtry, failbackup), compression (gzip, snappy), and a plugin system for extensibility. The architecture separates client and server concerns with clear interfaces: RPCClient for low-level communication, XClient for high-level service governance with discovery and load balancing, and Server for hosting services with reflection-based registration. The codebase demonstrates strong engineering practices with extensive use of interfaces, dependency injection, and object pooling for performance. It includes a comprehensive test suite and benchmarks. Key components include a binary protocol with buffer pooling for zero-copy encoding, a plugin container with multiple extension points (pre/post call, connection handling, etc.), a circuit breaker implementation with sliding window, and various selectors for load balancing. The project has been actively maintained with recent refactoring to split large files into focused modules and add method-level service registration. The code is well-structured with clear separation of concerns, though some parts (like the unsafe pointer conversions in util/converter.go) show pragmatic trade-offs for performance.

RATING: 9.0/10 MAINT: active DRIFT: low
▸ 3 reusable components found
apache/dubbo-go ★ 4961 1042 APPLICATION

Apache Dubbo-go is the Go implementation of the Apache Dubbo RPC framework, designed for building high-performance, production-grade microservices. It provides a comprehensive suite of service governance features including service registration and discovery (Zookeeper, Nacos, Etcd, Polaris), multi-protocol support (Triple/gRPC, Dubbo, JSON-RPC, REST), advanced load balancing (Random, RoundRobin, Consistent Hashing, P2C, Alias Method), fault-tolerant clustering (Failover, Failfast, Failsafe, Forking, Broadcast), and an extensible filter chain for cross-cutting concerns like authentication, rate limiting, tracing (OpenTelemetry, Jaeger, Zipkin), and metrics (Prometheus). The architecture follows a plugin/SPI pattern, allowing developers to easily swap or extend core components. It emphasizes interoperability with the Java Dubbo ecosystem and gRPC services. The codebase is large and actively maintained, with extensive test coverage and a rich set of developer tools including a CLI for project scaffolding and a protoc plugin for OpenAPI spec generation. While the project demonstrates high craftsmanship in its core algorithms and abstractions, it carries some technical debt from its Java heritage, including a non-standard Go syntax in some modules and a large dependency surface. It is a robust, production-ready framework suitable for complex distributed systems.

RATING: 8.9/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
ThreeMammals/Ocelot ★ 8718 1680 APPLICATION

Ocelot is a .NET library providing a highly configurable, middleware-based API Gateway for ASP.NET Core applications. It is not a standalone application but a framework that integrates into an ASP.NET Core host via `AddOcelot()` and `UseOcelot()`. Its architecture centers on a fixed-order middleware pipeline that processes incoming HTTP requests through stages including configuration loading, route matching, security, rate limiting, authentication, authorization, load balancing, URL rewriting, and proxying to downstream services. The pipeline is extensible through custom delegates and handlers, and supports advanced features like WebSocket proxying, response aggregation, and circuit breaking. The codebase demonstrates strong engineering practices with a clean separation of concerns across modules for Configuration, Routing, Load Balancing, Quality of Service, Rate Limiting, Caching, and WebSocket proxying. It features an extensive test suite with over a thousand unit and acceptance tests, many of which are linked to specific GitHub issues, indicating rigorous issue-driven development. The configuration system is particularly robust, supporting JSON file merging, environment-specific overrides, dynamic reloading, and fluent validation. While the core architecture is modern and well-maintained, targeting .NET 8 through 10, the codebase exhibits some technical drift. It relies on deprecated dependencies like `Microsoft.Extensions.DiagnosticAdapter` and `Newtonsoft.Json` alongside the newer `System.Text.Json`. There are known concurrency bottlenecks (e.g., a single static lock in rate limiting, blocking calls in the async configuration poller) and a reliance on reflection in unit tests that makes them brittle. Several properties are marked obsolete with planned removal in version 25.0. Despite this debt, Ocelot contains several genuinely reusable components that demonstrate non-obvious craftsmanship, such as a generic, thread-safe Circuit Breaker, a flexible Retry helper, and a clean DSL parser for claim transformations. It is an ideal choice for .NET teams requiring a robust, self-hosted, and extensible API gateway without the overhead of a commercial solution. Its primary value lies in its comprehensive feature set, extensibility, and the quality of its testing infrastructure.

RATING: 8.8/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
smapiot/piral ★ 1926 136 APPLICATION

Piral is a production-grade micro-frontend framework that enables building modular single-page applications (SPAs) with independently developed, runtime-integrated modules called pilets. The repository is a monorepo containing the core framework (piral-core, piral-base, piral), a CLI toolchain (piral-cli, piral-cli-webpack5), over 20 feature plugins (authentication, UI components, state management, search, notifications, etc.), and 15+ framework converters (React, Vue, Angular, Svelte, Blazor, etc.). The core architecture provides a shell application with pilet loading, extension slots, event system, shared dependency management via import maps, and state management using Zustand. The CLI supports scaffolding, building, debugging, validation, and publishing of both pilets and Piral instances. The codebase demonstrates strong engineering practices with extensive TypeScript, unit tests (Vitest), and a consistent plugin/converter pattern. Some technical drift exists in legacy pilet specifications and multiple router version adapters, but the project remains actively maintained.

RATING: 8.8/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
spec-first/connexion ★ 4612 782 APPLICATION

Connexion is a Python library and framework for building web APIs using an OpenAPI/Swagger-first approach. It consumes an OpenAPI (3.x) or Swagger (2.0) specification and automatically handles routing, request/response validation, security (API keys, OAuth2, Basic, Bearer, JWT), parameter injection, response serialization, and Swagger UI generation. The system supports both ASGI (via Starlette) and WSGI (via Flask) through a modular middleware stack, with pluggable validators, resolvers, and security handlers. It can be used as a standalone application (AsyncApp, FlaskApp) or as middleware (ConnexionMiddleware) wrapping an existing ASGI/WSGI app. The architecture is cleanly layered: middleware stack for cross-cutting concerns, operation abstraction for spec parsing, decorator chain for view function wrapping, and framework abstraction for Flask/Starlette integration. The codebase is well-structured, extensively tested, and actively maintained, making it a robust choice for spec-driven API development in Python.

RATING: 8.7/10 MAINT: active DRIFT: low
▸ 3 reusable components found
nats-io/nats.c ★ 505 174 APPLICATION

This is the official NATS C client library (nats.c), a production-grade C library providing full support for the NATS messaging system. It implements core publish/subscribe, request-reply, queue groups, and advanced features including JetStream (streams, consumers, key-value store, object store), a microservices framework, and legacy NATS Streaming support. The library is designed for high performance and reliability, with built-in reconnection, TLS/SSL, authentication (NKeys, JWT), and event loop integration (libevent, libuv). It exposes a comprehensive C API with hundreds of functions, and includes extensive examples and documentation. The codebase is well-structured with platform abstractions for Unix and Windows, and internal modules for protocol parsing, connection management, threading, and memory management. While the library is actively maintained and widely used, it carries some technical debt from legacy Streaming support and a large, tightly-coupled internal architecture.

RATING: 8.7/10 MAINT: active DRIFT: medium
▸ 4 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
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
alibaba/nacos ★ 33418 13295 APPLICATION

Nacos is a production-grade dynamic service discovery, configuration management, and service management platform, originally built by Alibaba. The codebase is a large Java/Spring Boot monolith with a React frontend, organized into modules for core infrastructure (cluster, gRPC, Raft consensus, Distro sync), configuration management (CRUD, long-polling, gray rules, history), naming/service discovery (instance registration, health checks, push v2), and an extensive plugin system (auth, datasource, encryption, control, visibility). In recent versions, Nacos has expanded into AI resource management, adding modules for MCP server registry, agent specs, skills, prompts, A2A agent discovery, vector search indexing, and pipeline execution. The repository includes two frontend codebases (legacy console-ui and modern console-ui-next with Radix UI/Tailwind), a Java client SDK, and comprehensive unit/integration tests. The architecture is modular with SPI-based plugin loading, event-driven internal communication, and support for multiple databases (Derby, MySQL, PostgreSQL, Oracle). Despite its size and rapid AI feature growth, the codebase maintains solid engineering practices with clear separation of concerns, extensive test coverage, and a well-defined plugin contract.

RATING: 8.6/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
spinnaker/spinnaker ★ 9802 1278 APPLICATION

Spinnaker is a continuous delivery platform with a microservices architecture for deploying and managing applications across multiple cloud providers. The system consists of distinct services including clouddriver (cloud abstraction), orca (pipeline orchestration), deck (React/UI), gate (API gateway), fiat (authorization), front50 (storage), echo (event processing), igor (CI integrations), kayenta (canary analysis), and rosco (image baking). It features polyglot implementation (Java/Kotlin/TypeScript/Groovy), Spring Boot backend services, React frontend, RESTful APIs, event-driven architecture, and extensive cloud provider integrations. The platform enables pipeline definition, execution, artifact management, and deployment strategies across AWS, Kubernetes, GCP, Azure, and other environments.

RATING: 8.6/10 MAINT: active DRIFT: medium
▸ 4 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
apache/incubator-seata ★ 26008 8841 APPLICATION

Apache Seata is a distributed transaction solution for microservices, implementing AT (Automatic), TCC, Saga, and XA transaction modes. It provides a Transaction Coordinator (TC) server, client libraries for Resource Managers (RM) and Transaction Managers (TM), and supports multiple databases, serialization formats, and service discovery backends. The architecture is plugin-driven via Java SPI, with a custom EnhancedServiceLoader for loading compressors, serializers, registries, and configuration providers. The codebase includes a Netty-based RPC layer with protocol versioning (v0, v1, v2), a robust Saga state machine engine with a visual designer, and a Spring Boot-based console for cluster management and global transaction monitoring. It integrates deeply with Spring, Dubbo, gRPC, and other RPC frameworks, and offers GraalVM native-image support for server deployments. The repository is extensive with over 30 Maven modules, reflecting both its production maturity and the complexity of maintaining backward compatibility through a deprecated io.seata package layer.

RATING: 8.5/10 MAINT: active DRIFT: medium
▸ 3 reusable components found
nashtech-garage/yas ★ 1986 730 APPLICATION

YAS (Yet Another Shop) is a production-grade, open-source e-commerce platform implemented as a microservices architecture using Java Spring Boot for the backend and Next.js for the frontend (both storefront and admin backoffice). The system is decomposed into ~15 independent microservices (product, cart, order, customer, inventory, payment, promotion, rating, tax, location, media, search, webhook, recommendation, and sample data) that communicate via REST with resilience4j circuit breakers/retries and event-driven patterns using Kafka and Debezium CDC for cross-service data synchronization (e.g., product changes propagate to Elasticsearch for search and PgVector for recommendation). Authentication and authorization are handled via Keycloak with OAuth2/JWT. The architecture includes BFF (Backend For Frontend) gateways using Spring Cloud Gateway and two Next.js frontends. Infrastructure is fully containerized with Docker Compose and Kubernetes Helm charts, with observability via OpenTelemetry, Grafana, Loki, and Tempo. The codebase includes comprehensive unit/integration tests, UI automation tests (Selenium/Cucumber), and CI/CD pipelines per service. While the repository is primarily an application, it incorporates data engineering patterns (CDC, vector embeddings) for the recommendation and search features, giving it a slight hybrid data character. Overall, the code demonstrates solid engineering practices, a well-defined microservice boundary, and several reusable components, though some duplication across services and boilerplate configs exist.

RATING: 8.4/10 MAINT: active DRIFT: low
▸ 4 reusable components found
nitrictech/nitric ★ 2016 121 APPLICATION

Nitric is a multi-cloud framework that enables developers to define cloud infrastructure and application logic in code, then deploy to AWS, Azure, or GCP. The framework provides infrastructure-as-code capabilities for cloud resources (APIs, storage, queues, topics, secrets, etc.) with runtime implementations for handling cloud service events. It features a modular architecture with core framework logic, cloud provider implementations, and a documentation site. The system uses a plugin-based worker system for handling cloud events and provides consistent abstractions across cloud providers through well-defined interfaces.

RATING: 8.3/10 MAINT: maintained DRIFT: low
▸ 4 reusable components found
valeriansaliou/vigil ★ 1947 145 APPLICATION

Vigil is a microservices status page application written in Rust. It monitors distributed infrastructure services via multiple probe modes (HTTP, TCP, SSH, ICMP, push, script, local), aggregates their health status, and serves a public status page with real-time updates. It also sends alerts through various channels (Slack, Email, Twilio, Telegram, etc.) when services go down or recover. The architecture is a single binary with separate threads for probing, aggregation, and HTTP serving, using a shared in-memory state protected by RwLock. The codebase is well-structured, with clear separation of concerns: config reader, prober, notifier, aggregator, and responder modules. It includes an MCP server for AI agent integration. The project is actively maintained with recent commits and CI/CD pipelines.

RATING: 8.3/10 MAINT: active DRIFT: low
▸ 3 reusable components found
agelenler/food-ordering-system ★ 311 207 APPLICATION

This repository implements a food ordering system using a microservices architecture with four services: customer, order, payment, and restaurant. It employs Domain-Driven Design, clean/hexagonal architecture, and patterns such as Saga for distributed transactions, Outbox for reliable messaging, and CQRS for separating commands and queries. Services communicate asynchronously via Kafka with Avro serialization. The system includes REST APIs for customer and order operations, and uses Spring Boot with JPA for persistence.

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