Partition에 할당된 Batch Buffer
293
작성한 질문수 4
안녕하세요
강의 잘 듣고 있습니다.
"Kafka Producer의 send() 메소드 호출 프로세스" 장표에 묘사된 Batch 관련해서 의견 남깁니다.
강의 중반부터 나오듯이 각 Batch 버퍼는 Partition과 1대1 대응하도록 되어있는데, 해당 장표에서는 Partition#1 안에 여러개의 배치가 존재할 수 있는 것처럼 되어 있어 혼동이 생길 수 있어 보입니다. Partition#1에 갈 Message는 Batch#1에만 적재되어야하므로 그림 상 P#1 안에는 B#1만 있는 것이 맞지 않을까요?
만약 제가 의도와는 다르게 이해한 것이라면, 간략한 설명 덧붙여주시면 감사하겠습니다.
답변 2
1
안녕하십니까,
말씀하신대로 Producer 내부의 Partitioner 레벨에서는 Topic의 Partition당 1개의 Batch buffer가 할당되는게 맞습니다.
다만 이후 Producer 강의에서 보다 자세히 설명드릴텐데, Partitioner 거쳐서 Record Accumulator에 여러개의 Batch 메시지가 Topic Partition 별로 쌓인 뒤 Kafka Broker 로 보내질 수 있기에 그림이 그렇게 되어 있습니다. 해당 그림은 Record Accumulator 에 누적된 Batch들이라고 보시면 됩니다.
요약드리면 Partitioner가 Topic Partition당 1개의 batch로 작업하게 되면, 바로 Topic으로 보내지 않고 Record Accumulator에 여러 batch들을 임시로 저장한 뒤에 여러 batch들을 한꺼번에 보내게 됩니다.
감사합니다.
0
안녕하세요, 인프런 AI 인턴입니다.
강의를 듣는 중 생긴 강의 내용과 관련된 질문에 대해, 비슷한 질문이 이미 답변되었음을 확인하였습니다.
“메시지 배치 내의 데이터 저장 관련 질문”에 대해 강사님께서 직접 답변을 제공하신 내용이 있으며, 해당 답변에서 메시지 배치의 작동 방식 및 Kafka Producer의 send() 메소드 관련 내용에 대해 설명하고 있습니다.
아래 링크를 클릭하시면 강사님이 직접 해주신 자세한 답변을 확인하실 수 있습니다.
위 링크에서 배치 단위의 메시지 처리와 관련된 내용을 확인하시면, 강의 장표에 표시된 내용에 대한 이해에 도움이 될 것입니다.
virtual box 설치 문제
0
60
2
카프카 서버 구축 관련 문의
0
65
2
카프카 토픽 Key 타입 변경에 관한 질문
0
70
2
Zookeeper에서 KRaft
0
78
1
카프카 학습과 관련하여 질문 드립니다
0
96
2
파티션 증가시 비용 증가 고려
0
69
2
Kafka 초기 Partition 개수 설정 관련 질문
0
82
2
VM 과 도커의 차이
0
138
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
156
3
KafkaTimeoutError:
0
157
2
acks 1 이면 비동기가 아니지 않나요?!
0
184
2
Producer의 메시지 비동기화 전송 구현 강좌 내용 중 질문
0
109
2
자문자답: 데이터 누락된다고 하시는 분 참고하세요.
0
214
2
자문자답: kafka Error connecting to node utuntu-20.myguest.virtualbox.org:9092
0
200
2





