Multi-purpose relay from source to destination.
A relay is a tool for bidirectional data transfer between two independent data
Supported source-to-destination relays:
* TCP to Unix,
* Unix to TCP.
* Need something else? Feel free to open an issue to discuss it or shoot a Pull Request.
* Significantly faster than socat with medium and larger message payloads.
* Static binary, it just works. TM
* Actively health checks the source to prevent hanging/zombified source connections. (initial reason why socat didn’t work for us)
* socat performs slightly better with small message payloads.
At SumUp we use it as a backbone for infrastructure and deployment system(s) that:
* need to relay SSH protocol,
* proxy to TCP -> Unix or vice-versa where speed
* have reliability as an important concern.
As a now open-source project of SumUp, we hope that we find more use-cases together.
How the benchmarks work
Reading the benchmarks:
X axis is the message payload size.
Y axis is throughput as per golang test’s -count argument, which benchmarks only the sending and receiving of a message sync or async.