inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

파티셔너(Partitioner)

Producer key, 커스텀 파티셔너

해결된 질문

519

fbfbf1

작성한 질문수 28

2

kafka Producer를 사용할 때 Key 값을 사용하거나 커스텀 파티셔너를 사용하면 특정 파티션으로만 데이터를 넣을 수 있는데

 

특정 파티션으로 데이터를 넣는 가장 큰 이유가

데이터의 순서를 보장하기 위해서 인가요??

아니면 다른 이유도 있을까요??

 

강의를 들어보면서 순서가 중요하지 않다면

Producer key나 커스텀 파티셔너를 안 사용해도 될 것 같아서 질문드립니다.

kafka 데이터-엔지니어링

답변 2

1

데브원영 DVWY

특정 파티션으로 데이터를 넣는 가장 큰 이유는 데이터의 순서를 보장하고 특정 subset 데이터에 대해서 모아 처리하기 위함입니다.

예를 들어 A라고 하는 유저의 데이터를 모아서 처리하고 싶다면 A유저를 특정(구분)하는 데이터를 메시지 키로 넣어서 처리할 수 있습니다.

그리고 순서가 중요하지 않다면 메시지 키를 넣지 않는 것도 좋습니다.

0

fbfbf1

네, 답변 감사합니다.

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴이에요.

Producer key를 사용하거나 커스텀 파티셔너를 사용하는 이유 중에는 데이터의 순서를 보장하기 위해서 사용하는 경우도 있지만, 순서가 중요하지 않은 경우에는 사용하지 않아도 됩니다.

특정 파티션으로 데이터를 넣는 것은 데이터를 효율적으로 분산할 수 있도록 하기 위한 것입니다. 파티션은 Kafka에서 데이터를 분할하여 여러 개의 서버에 저장하는 단위로, 여러 개의 파티션을 사용하면 데이터를 병렬적으로 처리할 수 있습니다.

따라서, 데이터의 순서가 중요하지 않고 단순히 데이터를 분산하여 처리하는 것이 목적이라면 Producer key나 커스텀 파티셔너를 사용하지 않아도 됩니다.

감사합니다.

consume 이후 lag가 줄어들지 않음

0

75

2

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

0

117

2

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

0

99

2

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

0

99

2

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

0

86

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

154

2

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

0

268

2

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

0

153

2

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

0

180

3

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

0

163

2

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

0

225

2

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

0

303

1

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

0

281

3

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

0

220

2

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

0

192

2