Show HN: Go Command-streaming lib for distributed systems (3x faster than gRPC)
9 months ago
- #Networking
- #Performance
- #Go
- cmd-stream-go is a high-performance, modular client–server library for Go based on the Command Pattern.
- Supports efficient, low-latency communication over TCP/TLS with streaming and observability.
- Client sends Commands to the server, where an Invoker executes them, and a Receiver provides server-side functionality.
- Features include TCP/TLS/mTLS support, asynchronous client, server streaming, reconnect, keepalive, Circuit Breaker pattern, OpenTelemetry integration, and modular design.
- High code coverage (90%) in submodules and basic integration tests in the main module.
- Performance optimization tips: use N parallel connections, pre-establish connections, keep connections alive.
- Can be used as a faster transport layer for existing RPC systems.
- Modular architecture includes core-go, delegate-go, handler-go, and transport-go submodules.
- Designed for easy replacement of any part of the library.