KafkaProducer 기본 구성 요소

목표 client에서 KafkaProducer가 메시지지를 produce하는 과정을 이해한다. Spring 에서 KafkaTemplate 호출시 동작 KafkaTemplate.doSend() 메서드 호출시 KafkaProducer.send() 메서드를 내부에서 호출하고 있다. send() 메서드 호출 시 파라미터로 전송할 ProducerRecord와 Callback 파라미터를 넘겨준다. KafkaProducer의 기본 구성 요소 KafkaProducer: 사용자가 직접 사용하는 클래스. send() 메서드를 호출하면 Record를 전송한다. RecordAccumulator: 사용자가 KafkaProducer::send() 메서드를 호출하면 Record가 바로 전송되는 것이 아니라 RecordAccumulator에 저장된다. 그리고 실제로 Broker에 저장되는 것은 이후에 비동기적으로 이루어진다. Sender: KafkaProducer는 별도의 Sender Thread를 생성한다. Sender Thread는 RecordAccumulator에 저장된 Record들을 Broker로 전송하는 역할을 한다....

2024-09-15 · 1 min · 103 words