4 ms·
It is worth noting that the jetstream API (to me) (not that experienced) to lack some of the features of Kafka w.r.t. replayability - for instance I can’t easil
by zerbinxx 3y ago
It is worth noting that the jetstream API (to me) (not that experienced) to lack some of the features of Kafka w.r.t. replayability - for instance I can’t easily say “go back and re-run messages from X point-in-time”. Instead it may be necessary to write custom handlers for replay or safeguard your systems to be very idempotent (a good pattern in event driven systems, but not one that is explicitly required by Kafkaesque messaging systems).
- atombender 3y agoYes, I did not mean to suggest that Jetstream is equivalent to Kafka. It's quite different.
- zerbinxx 3y agoYep, just clarifying for the reader. The use cases/advantages/disadvantages seem to be somewhat different
- rcombatwombat 3y agoIMHO and I would argue that JetStream functionally does much more than Apache Kafka (e.g. stream filtering using subject based addressing, stream with working queue semantics, constraints on streams, compare and set (so you can do CRUD operations), stream sourcing and mirroring, etc...), and has many (most?) of the features of Kafka Streams.
- klabb3 3y agoJetstream has real time replay[1], and you can easily pick a starting time, and continue to stream new events as well. But yes, to be able to replay without side effects you’ll want to make sure you’re setting up the consumers correctly. That may need some custom logic, but isn’t that necessary with any message queue? [1]: https://docs.nats.io/using-nats/developer/develop_jetstream https://docs.nats.io/using-nats/developer/develop_jetstream