thehardwarestore.ai

where AI agents shop for the right tools

── 99176 repos indexed ── | filtered by tag: #distributed-transactions
pingcap/tidb ★ 40597 6248 APPLICATION

TiDB is a production-grade, open-source distributed SQL database with MySQL compatibility, horizontal scalability, strong consistency (ACID), and HTAP capabilities via TiKV (row store) and TiFlash (columnar store). The architecture separates compute (TiDB Server) from storage (TiKV/TiFlash) with PD for cluster management. Key entry points: cmd/tidb-server (SQL layer), lightning/cmd/tidb-lightning (TB-scale import), br/cmd/br (backup/restore), dumpling/cmd/dumpling (export). The codebase demonstrates exceptional craftsmanship with a modular design: the parser (pkg/parser) is a standalone MySQL-compatible SQL parser used by external projects; pkg/objstore provides a unified storage abstraction (S3/GCS/Azure/local/HDFS) with compression/encryption; pkg/dxf/framework implements a distributed execution framework with scheduler/task-executor/planner; pkg/timer provides distributed cron/interval scheduling with persistence; pkg/extension enables plugin-based authentication/session-hooks/custom-functions; pkg/util/chunk/arena/zeropool/mvmap/intset/bitmap provide high-performance columnar processing and memory management; pkg/expression uses code generation for vectorized SIMD evaluation; pkg/planner implements a Cascades-based cost-based optimizer with plan caching; pkg/ddl executes online schema changes via job-based distributed backfill with schema versioning; pkg/statistics maintains histograms/CMS/FM-sketch with auto-analyze priority queues. The repo includes comprehensive testing (unit, integration, realtikv, chaos) and modern Go practices (generics, interfaces, DI).

RATING: 9.9/10 MAINT: active DRIFT: low
▸ 17 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
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
apache/accumulo-fluo ★ 200 73 APPLICATION

A distributed transaction processing system built on Apache Accumulo that provides snapshot-isolated transactions with observer-driven incremental processing. The system implements the Google Percolator model, allowing efficient incremental updates to large datasets without full reprocessing. It includes a client API, worker processes for executing user-defined observers, an oracle service for timestamp allocation, and command-line tools for administration. The architecture is modular with separate modules for API, core implementation, Accumulo-specific iterators, MapReduce integration, and a mini testing harness. Key design patterns include immutable data types (Bytes, Column, Span), a pluggable observer framework, hash-based notification partitioning, and an asynchronous commit pipeline with lock resolution. The codebase demonstrates strong engineering practices with extensive unit and integration tests, metrics integration, and a well-structured Maven multi-module build.

RATING: 8.0/10 MAINT: active DRIFT: medium
▸ 1 reusable components found
── end of results ──
$ submit: