티스토리 뷰
로그와 세그먼트

- 로그 : 메시지와 메타데이터를 저장
- 데이터가 파일에 지속적으로저장되는 것이 아니라 파일 시스템을 나뉘어서 저장됨
- 000000000000.log, 000000000001.log.......
- 세그먼트 파일 나뉘는 기준
- log.segment.bytes: byte 단위 기본값은 1G
- log.roll.ms : 시간 주기 기본값은 7일
- 1G로 기준을 세워도 7일이 지나면 다음 세그먼트로 넘어감
- offset : 레코드의 고유한 번호로, 프로듀서가 레코드를 만들어서 브로커로 데이터를 보내게되면 특정 파티션중 하나에 저장되는데 새로운 offset 번호를 지정하여 저장됨
- 위 이미지에서는 22개의 레코드를 가지고있음
- 신규 레코드가 들어오기되면 offset 22로 들어감
- 가장 처음 만들어지는 offset 번호가 로그 파일 이름이됨
- offset 10 → 00010.log
- 엑티브 세그먼트
- 가장 마지막 세그먼트 (쓰기가 일어나고 있는 파일)
- 프로듀서에서 레코드를 만들어서 보내면 엑티브 세그먼트로 보내짐.
- 브로커의 삭제 대상에 포함되지 않음
- 엑티브 세그먼트가 아닌 세그먼트는 Retention 옵션에 따라 삭제 대상으로 삭제됨
출처: 인프런 아파치-카프카-애플리케이션-프로그래밍
'IT > Kafka' 카테고리의 다른 글
[Kafka] ISR (In-Sync-Replicas) (0) | 2024.04.27 |
---|---|
[Kafka] 카프카 기본개념 - 세그먼트와 삭제 주기 관련 (0) | 2024.04.27 |
[Kafka] 카프카 기본개념 - 브로커의 역할 (0) | 2024.04.27 |
[Kafka] 카프카 기본 개념 설명 - 카프카 생태계, 브로커, 클러스터, 주키퍼 (0) | 2024.04.22 |
[Kafka] 아파치 카프카의 역사와 미래 (1) | 2024.04.22 |