rb is a Python library for interacting with multiple Redis nodes, providing automatic routing of commands based on keys and broadcasting capabilities. It uses a cluster abstraction to manage connections to individual Redis instances, with routers (partition or consistent hashing) to determine the correct node for key-based operations. The library features a promise-based model for parallel execution, allowing non-blocking I/O via multiplexing (poll/epoll/kqueue) to handle multiple Redis connections efficiently. Key features include automatic batching of compatible commands (e.g., merging multiple GETs into MGET), fault tolerance through reconnection logic, and support for both routed and fanout operations. The codebase is well-structured with clear separation of concerns between cluster management, routing, client interfaces, and utility components.
Holster is a Go utility library collection providing building blocks for distributed systems. It offers deterministic time control for testing, leader election implementations (etcd-based and Raft-inspired), enhanced error handling with context and stack traces, service discovery (Consul, DNS SRV), OpenTelemetry tracing, caching mechanisms (LRU, TTL, ExpireCache), retry utilities, HTTP request signing, gRPC connection pooling, and MX record resolution. Designed as drop-in replacements for standard library components with enhanced functionality, it focuses on solving common infrastructure challenges in microservices architectures. The library maintains a clear separation of concerns with each package addressing a specific cross-cutting concern.