Why wasn't NATS[1] used ?
Written in Go, single-binary deployment... there's a lot to love about NATS !
Written in Go, single-binary deployment... there's a lot to love about NATS !
I cannot speak to performance of NATS as we used it in low-traffic / low-demand setting. In terms of convenience, when used from Go, iirc, it offered some kind of built-in serialization (unlike eg. ZMQ, where you'd have to add your own).
Debugging lost messages was painful, but I've never used a tool where it wasn't...
Other fancy stuff is yes, one binary to run it, and it can also through gossiping, support a distributed KV / object store like etcd / s3 except you can register watchers on it (https://docs.nats.io/nats-concepts/jetstream/key-value-store...).