Why can't you guarentee ordering with competing consumers


Can you give anyone give an example scenario where an event might come out of order?


When a consumer fails before acknowledging a message? When the network is slower to one consumer than another? There are a lot of potential reasons this might happen.

when you have a retry?
when a message gets parked.
when consumer operations take varying time.
head of the line problem on your buffer causes messages behind it to time out

You can get close to it with buffersize of 1 and very long timeouts
but you will also get no kind of throughput

Ok so If I just want to do high availabilty but not load balancing, is it best to use buffer = 1 and prefer dispatch to single? I would prefer to just use a CatchUp but the powers that be want HA, and just wondering the best way to achieve that.

I think you actually need "only dispatch to single" let me check if I
PRed that.I worked on the strategy but don't remember if I sent it up.
Prefer one will on buffer full move to second