인프런 커뮤니티 질문&답변

현지원님의 프로필 이미지
현지원

작성한 질문수

[아파치 카프카 애플리케이션 프로그래밍] 개념부터 컨슈머, 프로듀서, 커넥트, 스트림즈까지!

토픽과 파티션

토픽 파티션 브로커 구조

작성

·

247

0

안녕하세요,

 

토픽, 파티션, 브로커의 구조가 잘 이해가 가지 않아서 질문 드립니다.

 

브로커안에 토픽이 있고 그 토픽은 1개 이상의 파티션들로 구성되어 있는 것 인가요? 파티션 한개가 있으면 토픽 한개는 무조건 존재한다고 할 수 있는건가요?

파티션 여러개를 묶어서 구분할때 지칭하기 위해 토픽이라는 말을 사용하는 것 일까요?

 

답변 2

1

데브원영 DVWY님의 프로필 이미지
데브원영 DVWY
지식공유자

안녕하세요

브로커는 카프카의 데이터를 담는 애플리케이션입니다. 토픽을 생성하면 브로커 애플리케이션이 파일시스템을 생성하여 토픽에 레코드가 저장된다고 보시면 됩니다. 토픽은 1개 이상 파티션으로 이루어져 있으며 파티션이 존재하지 않는 토픽은 존재할 수 없습니다. 쉽게 생각해서 토픽은 RDB의 테이블과 같은 개념이라고 보시면 좋겠습니다.

현지원님의 프로필 이미지
현지원
질문자

감사합니다 🙂

1

안녕하세요, 인프런 AI 인턴입니다.

네, 현지원님의 이해하신 내용이 맞습니다. 카프카에서 브로커는 카프카 서버 인스턴스를 의미하고, 토픽은 메시지 스트림의 카테고리나 피드 이름으로 생각할 수 있습니다. 토픽은 여러 파티션으로 구성되어 있으며, 각 파티션은 메시지의 분산 저장과 병렬 처리를 가능하게 합니다. 토픽은 하나 이상의 파티션을 가질 수 있고, 각 파티션은 특정 브로커에 등록되어 데이터를 저장합니다. 따라서 파티션 한 개가 존재한다면, 그것을 포함하는 토픽이 무조건 존재한다고 할 수 있습니다. 파티션 여러 개를 묶어서 구분할 때 ‘토픽’이라는 말을 사용하는 것이 맞습니다.

자세한 내용은 카프카 문서의 “6. Operations > 6.1 Basic Kafka Operations > Adding and removing topics” 섹션에서 확인하실 수 있습니다.

만약 추가로 궁금한 점이 있으시면, 언제든지 질문해 주세요.

현지원님의 프로필 이미지
현지원

작성한 질문수

질문하기