패스잇
백엔드 개발 · 중급

Kafka에서 토픽을 여러 파티션으로 나누는 주된 이유와 이로 인해 얻을 수 있는 이점을 설명해 주세요.

힌트 · 파티셔닝은 메시지 처리의 병렬성을 높여 처리량 증대와 데이터 분산을 가능하게 합니다. 이를 통해 컨슈머 그룹의 확장성을 확보할 수 있습니다.

병렬 처리처리량 향상확장성분산 처리로드 밸런싱

모범답안

Kafka에서 토픽을 여러 파티션으로 나누는 주된 이유는 병렬 처리 능력을 극대화하기 위해서입니다. 각 파티션은 독립적으로 처리될 수 있기 때문에, 여러 컨슈머가 동시에 메시지를 처리하여 전체 처리량을 향상시킬 수 있습니다.

또한, 파티셔닝은 데이터를 여러 브로커에 분산시켜 저장함으로써 데이터의 가용성과 내구성을 높입니다. 컨슈머 그룹을 확장할 때, 각 컨슈머가 특정 파티션을 담당하도록 설정하여 로드 밸런싱을 구현하고 시스템의 확장성을 확보할 수 있습니다. 즉, 더 많은 메시지를 더 빠르게 처리할 수 있도록 해줍니다.

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

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

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

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