인프런 커뮤니티 질문&답변

카린이님의 프로필 이미지
카린이

작성한 질문수

카프카 완벽 가이드 - 코어편

log.cleanup.policy의 삭제(delete) 설정에 따른 세그먼트 삭제 메커니즘 실습

Active segment가 지워진다면

작성

·

347

0

Active Segment도 정리 대상이 되어서 지워지고 난 후에는 새로 Active Segment를 자동으로 생성해주나요?

뭔가 개발자가 알아야하는 문제점은 없을지 궁금합니다.

답변 1

1

권 철민님의 프로필 이미지
권 철민
지식공유자

안녕하십니까,

파티셔 자체는 파일 디렉토리로 되어 있고, 파티션 내에 여러개의 로그 파일로 각각 Segment가 구성되어 있습니다. 이 중에 브로커가 write를 수행하는 단 하나의 Segment가 Active Segment입니다.

특정 A라는 파일이 Active Segment 일때 해당 segment 파일의 크기가 log.segment.bytes 설정을 넘어가거나 log.roll.hours에 지정된 시간을 넘기면 해당 segment는 더 이상 Active Segment가 되지 않고 브로커가 write시에 새로운 Segment를 생성하고 이를 Active Segment로 지정합니다. 이렇게 기존 Active Segment를 write 하지 않고 close 하면서 새로운 Active Segment를 만드는 작업을 rolling이라고 합니다.

한편 close된 Segment 파일은 Log cleanup 정책에 따라 삭제 될 수 있습니다. 때문에 하나의 segment는 active-> closed -> deleted(또는 compacted) 단계를 거치게 됩니다.

요약드리자면,

Active Segment도 정리 대상이 되면 먼저 Closed가 됩니다. 그리고 새로운 파일이 Active Segment가 됩니다. 기존 Active segment가 closed가 되고 일정 시간이 지나면 삭제가 될 수 있습니다.

감사합니다.

카린이님의 프로필 이미지
카린이
질문자

자세한 설명 감사합니다!

카린이님의 프로필 이미지
카린이

작성한 질문수

질문하기