I am confused on what kind of delivery guarantees this interface is supposed to provide, if any. Kafka and NATS (not JetStream I assume) are listed as the two existing implementations, and their guarantees are the opposites: ordered (within a partition) and at-least-once for Kafka, unordered (or, well, partially ordered) and at-most-once for NATS Core.
Does the interface say anything on this? Or is it agnostic of the delivery guarantees? Should there be two separate interfaces?
I am confused on what kind of delivery guarantees this interface is supposed to provide, if any. Kafka and NATS (not JetStream I assume) are listed as the two existing implementations, and their guarantees are the opposites: ordered (within a partition) and at-least-once for Kafka, unordered (or, well, partially ordered) and at-most-once for NATS Core.
Does the interface say anything on this? Or is it agnostic of the delivery guarantees? Should there be two separate interfaces?