본문 바로가기
kafka/core

Producer의 동기(Sync)와 비동기(Async)에서 배치 전송 차이

by 개복이 2025. 5. 4.

Producer의 동기(Sync)와 비동기(Async)에서 배치 전송 차이

  • 기본적으로 KafkaProducer 객체의 send() 메서드는 비동기(Async)이며 Batch 기반으로 메시지 전송
  • Callback 기반의 Async는 비동기적으로 메시지를 보내면서 RecordMetaData를 Client가 받을 수 있는 방식을 제공
  • Callback 기반의 Async는 여러 개의 메시지가 Batch로 만들어진다.
  • RecordMetaData recordMetadata = KafkaProducer.send().get()와 같은 방식으로 개별 메시지 별로 응답을 받을 때까지 block이 되는 방식이므로 메시지 Batch 처리는 불가, 전송은 Batch 레벨이지만 배치에 메시지는 단 1개

댓글