Гарантии доставки сообщений в Kafka (at-most-once, at-least-once, exactly-once) и порядок сообщений
Ответ от нейросети
sobes.tech AI
В Kafka существуют три основных модели гарантии доставки сообщений:
-
At-most-once (не более одного раза): сообщение может быть доставлено 0 или 1 раз. Возможна потеря сообщений, но дубликаты исключены. Обычно достигается при отключении повторной отправки.
-
At-least-once (минимум один раз): сообщение гарантированно доставляется, но может быть доставлено несколько раз (дубликаты возможны). Это стандартный режим работы Kafka при подтверждении записи.
-
Exactly-once (ровно один раз): сообщение доставляется и обрабатывается ровно один раз. В Kafka это достигается с помощью идемпотентных продюсеров и транзакций, начиная с версии 0.11.
Порядок сообщений: Kafka гарантирует порядок сообщений внутри одного партициона топика. Если у топика несколько партиций, то порядок между ними не гарантируется.
Пример: если продюсер отправляет сообщения в один партицион, потребитель получит их в том же порядке. Если сообщения распределены по разным партициям, порядок может быть нарушен.