작성
·
347
답변 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가 되고 일정 시간이 지나면 삭제가 될 수 있습니다.
감사합니다.
자세한 설명 감사합니다!