Relay
A tiny pub/sub service in Go with an HTTP and WebSocket surface, built to replace a queue nobody wanted to operate.
- Year
- 2024
- Role
- Backend engineer
- Stack
- Go, WebSockets, Redis, Docker
- Links
- Code ↗
Why
The team needed fan-out messaging for a live dashboard. The existing message broker was overkill for the load and painful to run locally.
Design
Relay keeps topics in memory with optional Redis persistence. Clients subscribe over WebSockets, publishers post over HTTP. The whole binary is under 8MB and starts in a few milliseconds.
Result
Local development went from a three-container setup to one command. Production has run without an incident since launch.