inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

카프카 완벽 가이드 - 코어편

Producer Java 클라이언트 API 내부를 Intellij Debugger를 이용하여 살짝 뜯어보기

파티셔너에서 파티션 선정 방법에 대한 질문

237

이무

작성한 질문수 58

0

안녕하세요,

producer의 send 로직을 보면 Serialization을 먼저 수행하고 Partitioner에서 파티션을 결정 짓는것으로 보이는데요,

key 값이 존재하는 경우 key 값에 대한 hash 알고리즘을 통해 파티셔너에서 파티션을 결정한다고 하였는데 직렬화 되어버리면 hash는 bytes 값에 대한 hash가 수행되는 건가요??

 

만약 맞다면, 파티셔너도 특정 키를 가진 데이터에 대해서 원하는 파티션을 지정하도록 커스터마이징이 가능한 것으로 알고 있는데, 파티셔너를 커스터마이징한다면 key 값을 직렬화 하고 그것에 대한 해시알고리즘을 적용해서 파티션 넘버를 반환하도록 짜야하는 것인지 궁금합니다.

 

kafka 데이터-엔지니어링

답변 1

0

권 철민

안녕하십니까,

좋은 질문이군요.

Producer에서 메시지를 직렬화하지만, 직렬화 이전의 Key, Value 값을 가지는 Producer Record도 함께 가지고 있습니다. partition은 직렬화 메시지 기준이 아니라 원본 key 값을 기준으로 결정됩니다.

나중에 최종적으로 보낼때는 직렬화 메시지만 전송되게 됩니다.

Custom Partitioner 생성하는 부분은 섹션 3의 마지막 3개 영상을 참조해 주시면 될 것 같습니다.

감사합니다.

virtual box 설치 문제

0

62

2

카프카 서버 구축 관련 문의

0

67

2

카프카 토픽 Key 타입 변경에 관한 질문

0

70

2

Zookeeper에서 KRaft

0

78

1

카프카 학습과 관련하여 질문 드립니다

0

98

2

파티션 증가시 비용 증가 고려

0

72

2

Kafka 초기 Partition 개수 설정 관련 질문

0

83

2

VM 과 도커의 차이

0

139

2

vm 어댑터설정 문의

0

78

2

Cooperative Sticky Rebalancing 질문

0

58

2

consumer 설정 질문

0

68

2

consumer.poll 질문입니다.

1

69

2

mainThread.join() 관련 질문

0

57

2

문의

0

153

2

멀티 브로커 설정 중 포트 충돌 발생

0

120

2

Consumer Group 강의 Lag 질문있습니다!

0

107

2

강의 설명 및 코드 정리

0

174

2

실습 코드는 어디서 받나요.. 아무리 찾아도 엄네요..

0

151

1

java.nio.BufferUnderflowException 에러 발생합니다..

0

158

3

KafkaTimeoutError:

0

157

2

acks 1 이면 비동기가 아니지 않나요?!

0

185

2

Producer의 메시지 비동기화 전송 구현 강좌 내용 중 질문

0

109

2

자문자답: 데이터 누락된다고 하시는 분 참고하세요.

0

216

2

자문자답: kafka Error connecting to node utuntu-20.myguest.virtualbox.org:9092

0

203

2