Lập trình 22/09/2026 6 phút

Offset trong Kafka: cái bookmark quyết định mất hay trùng dữ liệu, và cách tua lại log

Consumer nhớ đã đọc tới đâu bằng committed offset — và chính chỗ bạn đặt lệnh commit quyết định hệ thống mất dữ liệu hay xử lý trùng khi crash. Bài này đo thật: đọc 100 message rồi xem CURRENT-OFFSET/LOG-END-OFFSET/LAG, rồi tua lại log bằng reset-offsets (về đầu đọc lại 100, tới offset 50 đọc 50, lùi 20 đọc 20). Và vì sao auto-commit tiện nhưng âm thầm làm mất message.