Hacker News .hnnew | past | comments | ask | show | jobs | submitlogin

You wouldn't/shouldn't choose NATS if your application needs different semantics.

NATS does not have stateful storage. So when a consumer disconnects and reconnects, there is nowhere for NATS to store the messages temporarily. You can solve this by storing messages in a stateful storage first, then use NATS as a way to distribute them. You would need your own mechanism to replay messages on reconnect. This is coincidentally what Jetstream does. It uses NATS internally as a network protocol, but it's a separate thing.



Jetstream is distributed as an optional part of NATS, so while it exists as a layer on top of NATS Core and provides a different model, describing NATS as entirely stateless is not totally accurate

Though I suspect that Synadia people might do at least one more minor iteration of Jetstream: it still seems a little more complex than it needs to be, unlike Core



what do you think of the new JetStream API ?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: