Я пытаюсь понять, как Кафка справляется с ситуацией, когда потребителем выдается несколько ручных коммитов.
В качестве мысленного эксперимента предполагается одна тема / раздел с одним потребителем.Я публикую два сообщения в этой теме, и они обрабатываются пользователем асинхронно, а потребитель выполняет ручную фиксацию после завершения обработки сообщения.Теперь, если сначала завершится сообщение 1, а затем сообщение 2, я ожидаю, что брокер сохранит смещение в 2. Что происходит в обратном сценарии?Будет ли брокер теперь устанавливать смещение обратно в 1 из 2, или есть логика, препятствующая уменьшению смещения?
При чтении документов создается впечатление, что тема 'position' определяется как максимальное зафиксированное смещение +1Это подразумевает, что Kafka является инвариантом порядка, в котором фиксируются сообщения. Но мне неясно, что произойдет в случае, когда потребитель отключается и повторно подключается к брокеру, будет ли он продолжаться с максимального смещения фиксации или последнего зафиксированного смещениясмещение?
Спасибо