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

fbfbf1님의 프로필 이미지
fbfbf1

작성한 질문수

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

파티셔너(Partitioner)

Producer key, 커스텀 파티셔너

해결된 질문

작성

·

436

2

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

 

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

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

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

 

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

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

답변 2

1

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

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

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

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

fbfbf1님의 프로필 이미지
fbfbf1
질문자

네, 답변 감사합니다.

0

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

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

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

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

감사합니다.

fbfbf1님의 프로필 이미지
fbfbf1

작성한 질문수

질문하기