Kafka는 구성 가능한 기간(또는 크기) 동안 이벤트를 보존하여 소비 후에도 partition 로그에 유지함으로써 재생과 다중 consumer를 가능하게 합니다. 보존과 로그 관리를 이해하는 것은 Kafka를 사용하고 저장소를 관리하는 데 중요합니다.
보존 — 이벤트가 유지됨
전통적 큐와 달리 Kafka는 이벤트를 RETAIN함(소비 시 삭제하지 않음):
→ 이벤트가 구성된 RETENTION 기간(예: 7일) 또는 SIZE 한도 동안 partition 로그에 남음
→ 가능하게 함: REPLAY(과거 다시 읽기), 다중 consumer 독립 읽기, 뒤처진 consumer 따라잡기
→ 보존 만료 후 → 오래된 segment 삭제(또는 compaction)
→ Kafka는 단순한 일시적 큐가 아니라 내구성 있는 LOG
보존 구성
→ 시간 기반 → retention.ms(N 시간 동안 이벤트 유지, 예: 7일)
→ 크기 기반 → retention.bytes(partition당 N 바이트까지 유지)
→ topic별로 구성; 한도를 넘은 이벤트는 제거됨(오래된 것 우선)
→ 재생 필요, consumer lag 허용치, 저장 용량에 따라 선택
