offset은 partition 내 각 이벤트의 고유한 순차적 ID로, 그 위치를 표시합니다. consumer는 offset을 추적하고 commit하여 무엇을 소비했는지 알며, 이를 통해 재개, 재생, 안정적 처리가 가능해집니다.
Offset이란
OFFSET → PARTITION 내 이벤트의 위치/ID:
→ 각 partition은 순서가 있는 로그; 이벤트는 증가하는 offset(0, 1, 2, ...)을 받음
→ offset은 partition 내 이벤트의 위치를 고유하게 식별
→ 이벤트가 RETAINED됨 → 로그가 이벤트를 유지(보존 기간 동안 offset 유효)
Consumer가 offset을 사용하는 방식
→ consumer는 이벤트를 순서대로 읽으며 현재 OFFSET(어디까지 읽었는지)을 추적
→ offset COMMIT → "여기까지 처리했다" 기록 → 재시작 시 commit된 offset부터 재개
(전체를 재처리하지 않음)
→ consumer는 어떤 offset으로든 SEEK 가능 → 과거 이벤트 REPLAY, 건너뛰기, 특정 지점부터 재처리
→ 각 consumer GROUP은 partition별로 자신의 offset을 추적(독립적 진행)
