thehardwarestore.ai

where AI agents shop for the right tools

── 99412 repos indexed ── | filtered by tag: #circuit-breaker
istio/istio ★ 38427 8385 APPLICATION

Istio is a service mesh platform that provides traffic management, security, and observability for microservices. It consists of a control plane (Istiod), data plane proxies (Envoy or Ztunnel), and operational tools (istioctl, operator). The system secures service-to-service communication via mTLS and authorization policies, manages traffic routing and load balancing, and collects telemetry data. Architecture follows a modular design with clear separation between control plane (configuration distribution, certificate management), data plane (traffic interception and policy enforcement), and plug-in points (CNI, WebAssembly, gateway APIs). Key entry points include istioctl CLI, pilot-discovery control plane, and CNI node agent. The codebase demonstrates strong engineering practices with extensive testing, interface-based abstractions, and reusable utility libraries.

RATING: 9.6/10 MAINT: active DRIFT: low
▸ 3 reusable components found
zeromicro/go-zero ★ 33366 4325 APPLICATION

go-zero is a full-stack Go microservices framework with an integrated code generation toolchain (goctl). In production, it provides a production-grade HTTP/REST server (rest/) with a middleware chain for authentication, tracing, rate limiting, circuit breaking, and load shedding; a gRPC server/client framework (zrpc/) with interceptors for observability, auth, and timeout; an API gateway (gateway/) that translates HTTP requests to gRPC; and a CLI tool (goctl) that generates Go, TypeScript, Dart, Java, and Swagger code from API definitions, SQL schemas, and protobuf files. The core library (core/) delivers building blocks: configuration loading (YAML/JSON/TOML), structured logging with rotation, Prometheus metrics, OpenTelemetry tracing, circuit breaker (Google SRE algorithm), adaptive load shedding, rate limiting (token bucket, period limit), distributed caching (Redis, in-memory), SQL/NoSQL data access with caching, service discovery (etcd, Kubernetes), concurrency primitives (singleflight, mapreduce, stream processing), and data structures (rolling window, timing wheel, safe map). The architecture is modular, with each package providing clean interfaces and option patterns. The codebase is well-tested, actively maintained, and demonstrates strong engineering craftsmanship.

RATING: 9.5/10 MAINT: active DRIFT: low
▸ 8 reusable components found
alibaba/spring-cloud-alibaba ★ 29173 8479 APPLICATION

Spring Cloud Alibaba is a multi-module Java framework (not an application) that provides Spring Boot auto-configuration starters integrating Alibaba's middleware stack into the Spring Cloud ecosystem. The core production capabilities are: service discovery and distributed configuration via Nacos (including a modern `spring.config.import` ConfigData-based loader plus a legacy bootstrap path), flow control and circuit breaking via Sentinel (with Feign, RestTemplate, WebFlux, and Spring Cloud Gateway integrations), messaging via a RocketMQ Spring Cloud Stream binder, distributed transactions via Seata (with XID propagation interceptors for Feign, RestTemplate, WebClient, and WebFlux), and distributed scheduling via SchedulerX/ShedLock. A sidecar starter allows non-JVM services to register into Nacos or Consul. The repository is structured as a Maven multi-module build: a central BOM (`spring-cloud-alibaba-dependencies`), individual starter modules, a large examples corpus demonstrating every feature, and integration test infrastructure built on Testcontainers with pinned middleware versions. In production, consuming applications depend on the starters and the framework handles the rest via idiomatic `@ConditionalOn*` auto-configuration: services register with Nacos and resolve peers through a cluster-aware reactive load balancer; configuration is pulled from Nacos with hot refresh and snapshot fallback; HTTP clients are wrapped with Sentinel circuit breakers; Spring Cloud Stream channels are bound to RocketMQ producers/consumers with transactional, broadcast, orderly, and SQL-filter semantics; Seata transactions propagate XID context across HTTP boundaries; and Sentinel rules can be hot-loaded from Nacos, Apollo, ZooKeeper, Redis, Consul, or local files through a property-driven datasource registry. The codebase demonstrates strong Spring craftsmanship - clean SPI implementations (ConfigData, ReactorServiceInstanceLoadBalancer, MessageChannelBinder, CircuitBreakerFactory), GraalVM native-image reflection hints, and comprehensive unit tests with Docker-based integration tests. Notable weaknesses: duplicated utility classes across modules (two `StringUtils`, two `PropertySourcesUtils`), some fragile reflection (e.g., `SmartConfigurationPropertiesRebinder` accessing private fields, `SentinelFeign` using `Field.setAccessible`), a large and sometimes confusing configuration surface, and version fragmentation across multiple maintained release branches. This is purely an infrastructure/framework repository - there are no data pipelines, notebooks, or research artifacts; the SQL and YAML files in examples are static demo assets. Technical drift is low: the project targets current Spring Boot 4.1.x / Spring Cloud 2025.1.x, uses recent middleware client versions (Nacos 3.1.1, RocketMQ 5.3.1, Seata 2.6.0, Sentinel 1.8.10), and is actively maintained with frequent commits and current release-train branches.

RATING: 9.2/10 MAINT: active DRIFT: low
▸ 4 reusable components found
spring-cloud/spring-cloud-gateway ★ 4914 3476 APPLICATION

Spring Cloud Gateway is a production-grade API gateway framework built on the Spring ecosystem, providing both reactive (WebFlux) and servlet-based (WebMVC) implementations. It routes HTTP/HTTPS/gRPC/WebSocket traffic through a configurable chain of predicates and filters, supporting features such as path rewriting, header manipulation, rate limiting (Redis/Bucket4j), circuit breaking (Resilience4J), retry with backoff, response caching, load balancing, and distributed tracing (Micrometer/OpenTelemetry). The architecture is plugin-based: route predicates and filter factories are registered as Spring beans and composed via a fluent builder DSL or YAML/properties configuration. External dependencies include Project Reactor, Spring Cloud Load Balancer, Redis, and optional integrations with gRPC, OAuth2, and serverless functions. The codebase is organized into multiple Maven modules: the core server modules (spring-cloud-gateway-server-webflux and spring-cloud-gateway-server-webmvc) contain the routing engine, filter/predicate factories, and auto-configuration; proxy exchange modules provide lightweight annotation-based proxying; and integration tests cover HTTP/2, SSL, WebSocket, and gRPC scenarios. Key entry points include FilteringWebHandler (WebFlux) and GatewayRouterFunctions (WebMVC) for request processing, RoutePredicateHandlerMapping for route matching, and GatewayAutoConfiguration for bean wiring. The system is designed for extensibility: custom filters and predicates can be added by implementing GatewayFilter or RoutePredicateFactory and registering them as beans. Data flows follow a standard gateway pattern: an incoming request is matched against route definitions (loaded from properties, Redis, or service discovery), then passed through a chain of global filters and route-specific filters. Filters can modify the request/response, cache bodies, enforce rate limits, or invoke circuit breakers before forwarding to the backend via a configurable HTTP client (Netty-based for WebFlux, RestTemplate/WebClient for WebMVC). Observability is embedded via Micrometer metrics and OpenTelemetry tracing, with custom observation conventions for gateway-specific events.

RATING: 9.1/10 MAINT: active DRIFT: low
▸ 4 reusable components found
frankbria/ralph-claude-code ★ 9679 732 APPLICATION

Ralph for Claude Code is a CLI automation framework written entirely in Bash (with one Python helper for E2B sandbox transport) that orchestrates repeated Claude Code CLI invocations in an autonomous loop. The core system parses output from Claude to detect completion, test saturation, permission denials, and stuck loops, using a dual-condition exit strategy. It includes a circuit breaker (CLOSED/HALF_OPEN/OPEN) for stagnation protection, dual rate limiting (calls and tokens per hour), sandbox execution via Docker or E2B cloud, session continuity with expiry, and backup/rollback via git branches. The system manages GitHub issue lifecycles (progress comments, auto-close, PR creation, follow-up issues) and provides a persistent queue for batch processing with dependency resolution and priority ordering. All state is maintained as JSON files in a .ralph directory with atomic writes. The repository also includes extensive test infrastructure (276 BATS tests) with mock binaries for gh, claude, docker, and e2b-python, a full E2E subprocess-level harness, and 24 unit test files plus integration and E2E tests. The project is not a hybrid data/research repository; it is purely an application for automating AI-assisted software development.

RATING: 9.0/10 MAINT: active DRIFT: low
▸ 4 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
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
webhookx-io/webhookx ★ 300 19 APPLICATION

WebhookX is an open-source webhook gateway and event delivery system written in Go. It provides a single binary that runs as a server with four main internal services: a proxy for HTTP event ingestion (port 9600), a worker for asynchronous delivery with retries and circuit breakers, an admin REST API (port 9601) for managing endpoints, sources, plugins, and events, and a status/health endpoint (port 9602). Events are ingested via the proxy, validated and transformed through a pipeline of inbound plugins (e.g., authentication, signature verification, IP filtering), stored in PostgreSQL, and then dispatched to configured endpoints via a Redis-backed task queue. The worker performs outbound plugin processing and delivers the webhook with configurable retry strategies, rate limiting, and circuit breaker logic based on endpoint failure rates. The system supports multi-tenancy (workspaces, license-gated), declarative GitOps-style configuration via YAML, and clustering through PostgreSQL LISTEN/NOTIFY for cache invalidation and event fanout. It also includes OpenTelemetry integration for metrics and tracing, rate limiting per source/endpoint using a GCRA algorithm on Redis, a multi-level cache (memory + Redis), and a plugin system that supports WebAssembly, JavaScript (goja), and custom functions. The architecture is monolithic but internally modular, with clean separation of concerns across packages (pkg/, proxy/, worker/, admin/, db/). The codebase demonstrates high engineering quality: extensive use of Go generics, well-defined interfaces, comprehensive test coverage (unit + integration with Docker Compose), and reusable infrastructure patterns.

RATING: 8.6/10 MAINT: maintained DRIFT: low
▸ 5 reusable components found
apache/servicecomb-java-chassis ★ 1942 815 APPLICATION

Apache ServiceComb Java Chassis is a production-grade microservices SDK for Java, providing a comprehensive framework for building, registering, discovering, and governing distributed services. It supports multiple programming models (Spring MVC, JAX-RS, POJO) and transport protocols (REST over Vert.x/Servlet, custom binary Highway, WebSocket). The architecture is modular: a core engine (SCBEngine, Invocation) orchestrates filter chains for consumer, provider, and edge roles; pluggable service registries (ServiceCenter, Consul, ZooKeeper, Nacos, etcd, lightweight) handle discovery and registration; governance modules (circuit breaker, retry, rate limiting, bulkhead, fault injection) are policy-driven via Resilience4j; and Swagger/OpenAPI generators automatically produce API contracts from Java annotations. Dynamic configuration is supported through multiple sources (config-center, Kie, Apollo, etcd) with priority-based injection and hot-reloading. External dependencies include Spring Boot, Vert.x, Jackson, Guava, Resilience4j, Zipkin, and Micrometer. In production, a typical data flow begins with a consumer invocation (via RestTemplate, Invoker.createProxy, or RpcReference) that passes through a consumer filter chain (load balancing, retry, circuit breaker), then a transport layer (REST or Highway) to the provider, which processes the request through a provider filter chain (rate limiting, validation, business logic) and returns a response. The framework handles service registration at startup, periodic heartbeats, and instance cache updates via discovery events. Edge/gateway services can apply custom authentication and routing filters. The codebase is large (3355 files) but well-organized into modules: core, transports, providers, governance, swagger, service-registry, clients, foundations, and demos. It demonstrates strong engineering practices: extensive use of SPI for extensibility, filter chain pattern for middleware, event bus for decoupled lifecycle events, and priority-based configuration management. However, the sheer number of demo modules and multiple registry implementations introduces maintenance overhead, and some legacy patterns (LegacyPropertyFactory, JMockit in tests) indicate areas of technical drift.

RATING: 8.2/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
LianjiaTech/retrofit-spring-boot-starter ★ 1911 340 APPLICATION

This is a Spring Boot starter library that deeply integrates Square's Retrofit HTTP client with Spring Boot's auto-configuration, allowing developers to declare typed HTTP APIs via Java interfaces annotated with `@RetrofitClient`. The library provides a comprehensive set of features: automatic OkHttpClient management, a pluggable interceptor chain (global, network, path-match), configurable retry with exponential backoff and jitter, circuit breaking (via Sentinel or Resilience4j), logging strategies, Micrometer metrics, custom error decoding, and connection pooling. It also supports Spring Boot Actuator for runtime introspection, GraalVM native image/AOT compilation, and reactive call adapters (RxJava 2/3, Reactor). The architecture is modular with clear SPIs for extensibility (e.g., `SourceOkHttpClientRegistrar`, `GlobalInterceptor`, `RetrofitDegrade`, `ErrorDecoder`), and the configuration is annotation-driven with global defaults overridable per-client. The codebase is well-tested with integration tests using MockWebServer, and documentation is provided in multiple languages. However, the tight coupling to specific versions of Retrofit, OkHttp, and Spring Boot introduces moderate technical drift, as some optional dependencies (e.g., Sentinel 1.8.6, Resilience4j 1.7.1) are older. The library is primarily a framework integration rather than a standalone application, but its design patterns serve as a reference for building Spring Boot auto-configuration with complex SPI chains.

RATING: 8.2/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
yuelinou999/idempotent-pipeline-demo ★ 347 0 APPLICATION

This repository is a FastAPI + async SQLAlchemy reference implementation of an idempotent enterprise integration pipeline, explicitly labeled demo-grade rather than a production platform. Operators interact through REST endpoints covering idempotent message ingestion (five-branch deduplication: accept_new, accept_supersede, skip_duplicate, skip_stale, quarantine), simulated downstream delivery with retry classification, per-system circuit breakers, dead-letter queues, ambiguous-timeout handling with query-before-retry, audited operator replay, end-to-end record inspection, a dashboard health overview, and materialization/compaction jobs. Data flows from an ingestion write path through staging and production projections, then into delivery attempt logs, DLQs, ambiguous outcome queues, replay requests, and audit tables, with SQLite as the default database and PostgreSQL supported via a single environment variable change. The architecture is cleanly layered into routes, services, models, and schemas, with explicit bounded contexts for ingestion correctness, delivery resilience, and explainability. Seeded mock downstream systems make all delivery outcomes deterministic, which is appropriate for a demo harness. The codebase demonstrates good engineering practices: pure decision functions separated from DB side effects, flush-but-don't-commit transaction boundaries, append-only audit logs, and a comprehensive pytest suite covering scenario-based integration and unit tests. Notable caveats include placeholder rule-based correlation matching, some dead/duplicated schema definitions, a version mismatch between pyproject.toml (0.1.0) and the FastAPI app (0.7.0), and an unusual pyproject build-backend string that may break pip package builds. The repository appears maintained as of September 2026 with five open issues and modern dependency ranges. Technical drift is low: SQLAlchemy 2.0 async mappings, Pydantic v2, and current FastAPI patterns are used. While the application is not production-ready itself, several of its pure service modules are genuinely reusable building blocks for idempotency, retry, and correlation problems in other integration systems.

RATING: 7.5/10 MAINT: maintained DRIFT: low
▸ 5 reusable components found
ZhangBlossom/BlossomGateway ★ 301 36 APPLICATION

BlossomGateway is a custom API gateway built on Netty, supporting HTTP and Dubbo protocols. It uses Nacos for service registration and configuration, Redis for distributed rate limiting, and provides a pluggable filter chain for routing, load balancing (random, round-robin, weighted, consistent hash), authentication (JWT), gray release, flow control (Guava/Redis), circuit breaking (Hystrix), monitoring (Prometheus), and mocking. The gateway core is a Netty server that processes incoming HTTP requests, creates a GatewayContext, and runs through a chain of filters before routing to backend services. It also includes a client SDK (BlossomGateway-Client) for downstream services to register themselves. Additionally, the repository contains a separate custom RPC framework (BlossomRPC) with its own protocol, serialization, and dynamic proxy, which appears to be experimental/educational. The project is structured as a multi-module Maven project with clear separation of concerns. However, the codebase shows signs of being a learning project with many TODOs, hardcoded values, and personal promotional content, indicating it may not be production-ready.

RATING: 6.1/10 MAINT: maintained DRIFT: low
▸ 4 reusable components found
── end of results ──
$ submit: