패스잇
백엔드 개발 · 중급

Kafka의 Consumer Group이 무엇이며, 이를 통해 메시지 소비의 확장성과 고가용성을 어떻게 확보하는지 설명해 주세요.

힌트 · 컨슈머 그룹은 여러 컨슈머 인스턴스가 하나의 논리적인 컨슈머로 동작하게 하여 파티션을 분담 처리합니다. 이를 통해 메시지 소비의 병렬성과 장애 발생 시 재분배를 통한 고가용성을 제공합니다.

컨슈머 그룹파티션병렬 처리오프셋고가용성

모범답안

Kafka에서 Consumer Group은 여러 컨슈머 인스턴스를 묶어 하나의 논리적인 컨슈머처럼 동작하게 하는 메커니즘입니다.

각 컨슈머 그룹은 토픽의 파티션을 나누어 소비합니다. 예를 들어, 토픽에 3개의 파티션이 있고 컨슈머 그룹에 3개의 컨슈머가 있다면, 각 컨슈머는 하나의 파티션을 전담하여 처리합니다. 이렇게 파티션을 분담하여 처리함으로써 메시지 소비의 병렬성을 높여 확장성을 확보할 수 있습니다.

만약 컨슈머 중 하나가 다운되면, 해당 컨슈머가 담당하던 파티션은 다른 컨슈머에게 자동으로 재할당됩니다. 이를 통해 장애 발생 시에도 메시지 소비가 중단되지 않고 지속적으로 이루어지도록 하여 고가용성을 확보합니다. 각 컨슈머는 자신이 소비한 메시지의 오프셋을 Kafka에 저장하여, 장애 복구 시 중복 소비 없이 이어서 소비할 수 있습니다.

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

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

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

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