ws-hub
Overview
A scalable, vendor-neutral WebSocket pooler for managing persistent connections, session state, and real-time messaging across distributed systems. Decouples connection-holding nodes from business logic via Redis Pub/Sub.
Key Features
- Vendor-neutral Design — Business logic services connect via Redis Pub/Sub, not WebSocket directly
- Docker Swarm Deployment — Runs across multiple replicas behind Traefik with resource-limited containers
- JWT Authentication — Token-based auth at the connection layer before any message processing
- Zero-downtime Rolling Updates — Traefik + Swarm rolling deploy without dropping active connections
- Redis Pub/Sub Fan-out — Messages routed cross-replica with at-most-once delivery
Tech Stack
- Backend: Go
- Messaging: Redis Pub/Sub
- Infra: Docker Swarm, Traefik
- Auth: JWT