Какие гарантии доставки бывают в Kafka?
Ответ от нейросети
sobes.tech AI
В Kafka существуют три основных гарантии доставки сообщений:
-
At-most-once (не более одного раза) — сообщение может быть доставлено один раз или не доставлено вовсе. Это происходит, если производитель не ждёт подтверждения от брокера и не повторяет отправку при ошибках.
-
At-least-once (минимум один раз) — сообщение гарантированно будет доставлено, но может быть доставлено несколько раз (дубликаты). Это достигается повторной отправкой сообщений при отсутствии подтверждения.
-
Exactly-once (ровно один раз) — сообщение доставляется ровно один раз без дубликатов. В Kafka это реализовано с помощью идемпотентных продюсеров и транзакций, что позволяет атомарно записывать сообщения и коммитить их.
Выбор гарантии зависит от конфигурации продюсера, настроек подтверждений (acks), а также от обработки сообщений на стороне потребителя.