As the kafka documentation says about trying
Setting a value greater than zero will lead to a resending of the client record, whose sending is not performed with a potentially temporary error. Please note that this replay is not different from if the client repeats the recording on receiving an error. Allowing retries can order records, because if two records are sent to one section, and the first is not executed and repeated, but the second, then the second record may appear first.
So, answering your question with a headline, kafka does not have order guarantees for asynchronous shipments.
I am updating the database of answers to a question from Peter Davis.
, , , max.in.flight.requests.per.connection=1
, , :
, 1, , - ( , ).