pull down to refresh

I spent a fair amount of time looking at NATS when I was making a distributed logging system in golang a decade ago. Other internal teams were using Kafka (which was a special kind of monstrosity at the time with zookeeper and iirc paxos for consensus).
I don’t recall NATS having persistence then or we continued to be nuts about latency because we were planning on storing everything in the in-memory db that I was also leading at the time.
Cool to see NATS come up again!
I've used Kafka a lot, but that was in enterprise settings and I'm looking for something that ultimately I could embed, so I decided to give this a go (lol). It works well for what I need it for thus far because I'm really using it as a message bus, but at-least-once delivery is a thing for my use-case.
NATS has JetStream, which is basically a file-based backend that you can use for persisted streams and k/v stores - so that's what I'm testing with right now. The one thing that I'm really missing in the python client implementation is reliable kafka-like consumer group tracking - it looks like I'm going to have to write some code for that, but that's the fun part.
reply