3 ms·
My understanding that not losing any messages and strict ordering correspond to "exactly once" delivery which is not possible in general case.
by helge9210 5y ago
My understanding that not losing any messages and strict ordering correspond to "exactly once" delivery which is not possible in general case.
- deathanatos 5y agoYou'd want / it would be an "at least once" delivery. If you need to restart delivery due to some issue, the consumer might see a message twice; it's not out of order per se, it's just that the delivery/queue system doesn't know for sure whether it got delivered, and is thus redelivering. The consumer, of course, must be aware of & ready to handle multiple deliveries. (E.g., you keep a "log position" which represents where you've processed the incoming messages up to.) But if you need ordering+not losing messages, it's the mode you need. (Since "at most once" implies "sometimes losing messages".)