
요약 토픽은 데이터의 주제를 정의하고, 파티션은 토픽을 물리적으로 분할하여 처리 각 파티션은 로그로 구성되고, 로그는 세그먼트로 나눠져 디스크에 저장 토픽과 파티션토픽 (Topic):토픽은 데이터의 주제를 정의카프카에서는 비슷한 유형이나 관련된 데이터를 포함하는 데 사용되며, 예를들어 주문, 이벤트, 회원 등이 있을 수 있음각 토픽은 하나 이상의 파티션으로 나누어짐프로듀서(Producer)가 메시지를 특정 토픽으로 보내면, 컨슈머(Consumer)는 해당 토픽에서 메시지를 구독하여 처리파티션 (Partition):파티션은 토픽을 물리적으로 분할한 개념각 파티션은 병렬로 데이터를 처리하기 위해 사용큐(queue)와 비슷한 구조파티션은 순차적으로 메시지를 저장하며, 메시지는 파티션 내에서 순서대로 보존파티션..

ISR 이란 리더 파티션과 팔로워 파티션이 모두 싱크가 된 상태 즉 offset 개수가 같을 때를 말함싱크가 되지 않은 상태에서 팔로워 파티션이 리더 파티션으로 선출되면 데이터가 유실될 수 있음 unclean.leader.election.eableunclearn.leader.election.enable= true : 유실을 감수, 복제가 안된 파티션을 리더로 승급unclearn.leader.election.enable= false : 유실을 감수하지 않음, 해당 브로커가 복구될 때 까지 중단 출처: 인프런 아파치-카프카-애플리케이션-프로그래밍

세그먼트와 삭제 주기 세그먼트삭제 Policycleanup.policy=delete엑티브가 아닌 세그먼트 기준으로 세그먼트 로그 삭제 retention.ms : 세그먼트를 보유할 최대 기한. 기본 값은 7일 (보통 3일로 설정함, 워킹데이 때문에)reteintion.bytes: 파티션당 로그 적재 바이트값 기본 값은 -1(지정x) log.retention.check.interval.ms : 브로커에서 데이터 삭제를 체크하며,세그먼트 대한 삭제 확인 간격 기본값 5분레코드 단위로는 개별 삭제, 수정 불가함 (offset0, offset1, offset2 -> offfset1만 삭제 불가)수정 삭제 불가하기 때문에 프로듀서에서 레코드에 대한 validation 체크 필수! cleanup.policy=c..

로그와 세그먼트 로그 : 메시지와 메타데이터를 저장데이터가 파일에 지속적으로저장되는 것이 아니라 파일 시스템을 나뉘어서 저장됨000000000000.log, 000000000001.log.......세그먼트 파일 나뉘는 기준 log.segment.bytes: byte 단위 기본값은 1Glog.roll.ms : 시간 주기 기본값은 7일1G로 기준을 세워도 7일이 지나면 다음 세그먼트로 넘어감 offset : 레코드의 고유한 번호로, 프로듀서가 레코드를 만들어서 브로커로 데이터를 보내게되면 특정 파티션중 하나에 저장되는데 새로운 offset 번호를 지정하여 저장됨 위 이미지에서는 22개의 레코드를 가지고있음신규 레코드가 들어오기되면 offset 22로 들어감 가장 처음 만들어지는 offset 번호가 로그..