zlacker

[parent] [thread] 4 comments
1. jadbox+(OP)[view] [source] 2023-07-24 02:28:53
Isn't it a big problem if readers miss messages if either the topic readers go offline briefly or message throughout exceeds readers?
replies(1): >>atombe+W11
2. atombe+W11[view] [source] 2023-07-24 11:54:01
>>jadbox+(OP)
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.

replies(1): >>Kinran+oh1
◧◩
3. Kinran+oh1[view] [source] [discussion] 2023-07-24 13:07:30
>>atombe+W11
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

replies(1): >>rcomba+am3
◧◩◪
4. rcomba+am3[view] [source] [discussion] 2023-07-24 22:50:20
>>Kinran+oh1
See https://github.com/nats-io/nats.go/tree/main/jetstream#readm...
replies(1): >>gedw99+ho8
◧◩◪◨
5. gedw99+ho8[view] [source] [discussion] 2023-07-26 08:37:46
>>rcomba+am3
what do you think of the new JetStream API ?
[go to top]