Producer의 동기(Sync)와 비동기(Async)에서 배치 전송 차이
- 기본적으로 KafkaProducer 객체의 send() 메서드는 비동기(Async)이며 Batch 기반으로 메시지 전송
- Callback 기반의 Async는 비동기적으로 메시지를 보내면서 RecordMetaData를 Client가 받을 수 있는 방식을 제공
- Callback 기반의 Async는 여러 개의 메시지가 Batch로 만들어진다.
- RecordMetaData recordMetadata = KafkaProducer.send().get()와 같은 방식으로 개별 메시지 별로 응답을 받을 때까지 block이 되는 방식이므로 메시지 Batch 처리는 불가, 전송은 Batch 레벨이지만 배치에 메시지는 단 1개
'kafka > core' 카테고리의 다른 글
Producer의 전송/재전송 내부 메커니즘 및 전송 동작 관련 주요 파라미터의 이해 (0) | 2025.05.05 |
---|---|
Producer의 메시지 배치 전송 내부 메커니즘 - linger.ms와 batch.size (0) | 2025.04.30 |
Producer의 메시지 배치 전송 내부 메커니즘 - Record Batch와 Record Accumulator 이해 (0) | 2025.04.29 |
acks 값 설정에 따른 Producer의 전송 방식 차이 이해 (0) | 2025.04.28 |
kafka-dump-log 명령어로 로그 파일의 메시지 내용 확인 (0) | 2025.04.28 |
댓글