패스잇
백엔드 개발 · 중급

Kafka가 메시지의 내구성(Durability)을 보장하기 위해 사용하는 메커니즘들을 설명해 주세요.

힌트 · Kafka는 토픽 파티션의 복제(Replication)와 ISR(In-Sync Replicas)을 통해 메시지 내구성을 확보합니다. 프로듀서의 ACK 설정도 메시지 내구성에 영향을 미칩니다.

복제(Replication)ACKs최소 ISR 크기(min.insync.replicas)로그 세그먼트(Log Segments)Flush

모범답안

Kafka는 메시지의 내구성을 보장하기 위해 여러 메커니즘을 사용합니다.

가장 중요한 것은 **복제(Replication)**입니다. 각 토픽 파티션은 여러 브로커에 복제되어 저장됩니다. 이렇게 하면 하나의 브로커에 장애가 발생하더라도 다른 복제본에서 데이터를 가져올 수 있습니다.

두 번째는 ACKs 설정입니다. 프로듀서는 메시지를 브로커에 보내고 응답을 기다립니다. ACK 설정을 통해 얼마나 많은 브로커가 메시지를 받았는지 확인하고, 메시지 손실을 방지할 수 있습니다. acks=all 설정을 사용하면 모든 ISR(In-Sync Replicas)이 메시지를 받았을 때만 성공으로 간주됩니다.

세 번째는 최소 ISR 크기(min.insync.replicas) 설정입니다. 이 설정을 통해 데이터 손실 없이 메시지를 처리할 수 있는 최소한의 복제본 수를 지정할 수 있습니다.

마지막으로, Kafka는 메시지를 디스크에 순차적으로 기록하는 **로그 세그먼트(Log Segments)**를 사용하고, 주기적으로 디스크에 Flush하여 데이터 손실을 최소화합니다.

읽었다면, 이제 직접 답해볼 차례예요

패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.

함께 보는 메시지 큐 (Kafka) 면접 질문

← 메시지 큐 (Kafka) 면접 질문 전체 보기