Wow, it's using NATS! I used NATS extensively 10+ years ago, and I'm happy to hear it's still around. Our infrastructure had hiccups across our fleet of machines, but one part that always remained up and running without complaining on some dinky machine was NATS. Well, that and Redis. No complaints ever.
We are building something B2B expected to have good enough scale ... we had to choose between kafka, nats, redpanda and rabbitMQ .... We went ahead with NATS .... don't know why, but, when we went through all the docs, including setup and operational, NATS just felt right.
Excellent. We already tested at okayish scale of 5 million messages per minute, with each message being less than 1KiB. Do note that NATS can easily handle 100x this scale. It's just what we had tested during initial days.
I have a stupid question - as I understand NATS works very well as a “message” pipe/bus. Anyway to get Redis type cache functionality as well ? Is it something possible ?
Thank you! Jetstream looks useful. For a platform which is production our Redis costs are getting prohibitively high. I was on the look for alternatives and perhaps in the software reliability tool [0] I am buildin try out Jetstream.
NATS and its built-in Jetstream stream persistence engine are a miracle. I love them both so much. And if your app is itself written in Go, you can just embed them for simple deployment scenarios (like Chatto does.)