백엔드 개발 · 기초
카프카의 '프로듀서(Producer)'와 '컨슈머(Consumer)'의 역할은 각각 무엇인지 설명해주세요.
힌트 · 프로듀서는 토픽으로 메시지를 발행하는 역할을 하고, 컨슈머는 토픽에서 메시지를 구독하여 처리하는 역할을 합니다.
프로듀서컨슈머토픽메시지브로커
모범답안
카프카에서 프로듀서와 컨슈머는 핵심적인 역할을 수행합니다.
프로듀서는 데이터를 카프카 클러스터로 보내는 역할을 합니다. 특정 토픽을 지정하여 메시지를 발행하고, 카프카 브로커는 이 메시지를 해당 토픽에 저장합니다. 프로듀서는 어떤 데이터를 어떤 토픽에 보낼지 결정하는 역할을 담당한다고 볼 수 있습니다.
반면 컨슈머는 카프카 클러스터로부터 데이터를 가져오는 역할을 합니다. 특정 토픽을 구독하여 해당 토픽에 저장된 메시지를 읽어 처리합니다. 컨슈머 그룹을 통해 여러 컨슈머가 하나의 토픽을 나누어 처리하여 병렬 처리도 가능합니다. 즉, 컨슈머는 필요한 데이터를 토픽에서 가져와 사용하는 역할을 합니다.
읽었다면, 이제 직접 답해볼 차례예요
패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.
함께 보는 메시지 큐 (Kafka) 면접 질문
- 카프카에서 '토픽(Topic)'은 무엇이며, 데이터를 분류하고 관리하는 데 있어 어떤 역할을 하는지 설명해주세요.
- 카프카 토픽의 '파티션(Partition)' 개념과 그 역할에 대해 설명해주세요. 왜 파티션이 필요한가요?
- 카프카에서 '오프셋(Offset)'은 무엇이며, 컨슈머(Consumer)가 메시지를 처리하는 데 있어 어떤 의미를 가지나요?
- 카프카의 '브로커(Broker)'는 무엇이며, 카프카 클러스터 내에서 어떤 기능을 담당하나요?
- Kafka에서 토픽을 여러 파티션으로 나누는 주된 이유와 이로 인해 얻을 수 있는 이점을 설명해 주세요.
- Kafka의 Consumer Group이 무엇이며, 이를 통해 메시지 소비의 확장성과 고가용성을 어떻게 확보하는지 설명해 주세요.