백엔드 개발 · 기초
카프카에서 '토픽(Topic)'은 무엇이며, 데이터를 분류하고 관리하는 데 있어 어떤 역할을 하는지 설명해주세요.
힌트 · 토픽은 카프카에서 발행되는 메시지(이벤트)들을 논리적으로 묶는 단위로, 특정 종류의 데이터를 구분하고 관리하는 데 사용됩니다.
토픽파티션오프셋프로듀서컨슈머
모범답안
카프카에서 토픽은 메시지들을 논리적으로 묶는 역할을 합니다. 쉽게 말해, 메시지들을 종류별로 구분하는 '폴더'와 같은 개념이라고 생각하시면 됩니다. 예를 들어, '사용자 활동' 토픽, '결제 정보' 토픽처럼 특정 주제에 관련된 메시지들을 하나의 토픽으로 묶을 수 있습니다.
토픽은 데이터를 분류하고 관리하는 데 핵심적인 역할을 합니다. 프로듀서는 특정 토픽에 메시지를 발행하고, 컨슈머는 자신이 구독한 토픽에서 메시지를 가져옵니다. 각 토픽은 여러 개의 파티션으로 나뉘어 병렬 처리 성능을 높일 수 있고, 각 파티션 내에서는 메시지들이 순서대로 저장됩니다. 컨슈머는 오프셋을 통해 특정 위치부터 메시지를 읽을 수 있어, 데이터 처리의 유연성을 확보할 수 있습니다.
읽었다면, 이제 직접 답해볼 차례예요
패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.
함께 보는 메시지 큐 (Kafka) 면접 질문
- 메시지 큐(Message Queue)가 무엇인지 설명하고, 시스템 아키텍처에서 어떤 이점을 제공하는지 기본 개념 위주로 설명해주세요.
- 카프카(Kafka)는 어떤 용도로 사용되는 분산 스트리밍 플랫폼인가요? 그 주요 특징을 간략히 설명해주세요.
- 카프카 토픽의 '파티션(Partition)' 개념과 그 역할에 대해 설명해주세요. 왜 파티션이 필요한가요?
- 카프카에서 '오프셋(Offset)'은 무엇이며, 컨슈머(Consumer)가 메시지를 처리하는 데 있어 어떤 의미를 가지나요?
- 카프카의 '프로듀서(Producer)'와 '컨슈머(Consumer)'의 역할은 각각 무엇인지 설명해주세요.