Управление offset в Kafka. Commit в Go.

Ответ

Offset - позиция потребителя в партиции. После обработки сообщения consumer коммитит offset (в Kafka или в группе). При перезапуске чтение продолжается с закоммиченного offset. В Go: автоматический коммит по таймауту или ручной после успешной обработки (CommitMessages). At-least-once: коммит после обработки; при сбое после обработки но до коммита - повторная доставка. Идемпотентность обработки важна.

for {
    msg, _ := r.FetchMessage(ctx)
    process(msg)
    r.CommitMessages(ctx, msg)
}
🧠Квиз 🏆Лидеры 🎯Собесед. 📖Вопросы 📚База зн.