inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

토픽과 파티션

토픽 파티션 브로커 구조

323

현지원

작성한 질문수 14

0

안녕하세요,

 

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

 

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

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

 

kafka 데이터-엔지니어링

답변 2

1

데브원영 DVWY

안녕하세요

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

0

현지원

감사합니다 🙂

1

인프런 AI 인턴

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

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

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

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

consume 이후 lag가 줄어들지 않음

0

75

2

안녕하세요. 강의의 카프카 버전과 현재 시점의 카프카의 차이점 문의 드립니다.

0

118

2

멱등성 프로듀서 retries 관련 질문입니다.

0

99

2

채팅 서비스 개발 시 주의점이 있을까요?

0

100

2

충분히 큰 파티션 생성시 궁금증이 존재합니다.

0

88

2

KTable 키가 없는 레코드 처리

0

73

2

컨슈머 테스트 코드 작성

0

94

2

리밸런스 onPartitionRevoked이 필요한 상황

0

74

2

카프카 클러스터에서 감당 가능한 파티션(레플리카) 수 문의

0

120

2

reset offset 질문

0

77

2

KStreamJoinKTable 실행시 오류

0

78

2

auto.commit.interval.ms 옵션 관련 질문 드립니다.

0

142

2

파티션, 컨슈머 그룹, 컨슈머 관련 질문

0

117

1

java, kotlin

0

130

2

shutdownThread 에 대한 문의 입니다.

0

155

2

zookeeper실행시 오류가 발생합니다.

0

271

2

커스텀 소스 커넥터에서 Thread.sleep (1000) 은 왜 하는거에요?

0

153

2

처리량을 늘리기 위해서 파티션을 늘리고 컨슈머를 늘려야한다고 설명하셨는데요

0

181

3

파티션 개수와 컨슈머 개수의 처리량 관련 질문

0

164

2

동영상 및 이미지 처리 관련 문의 드립니다.

0

226

2

주키퍼 없이 사용 문의 드립니다.

0

303

1

kafka 를 띄우니 오류가 발생하고 종료합니다.

0

281

3

zookeeper 실행시 오류 .. 무엇을 해야 할까요?

0

220

2

파티션 추가로 해결할 수 있지만 늘어난 파티션은 줄일 수 없지 않나요?

0

192

2