먼저, 지난 글에서 IntelliJ에 Kafka 개발 환경을 구축했다.
오늘은 Kafka Producer를 생성하여 새로운 Message를 보내보겠다.
이제 새로운 Class를 만들어보자.
나는 MyKafkaProducer Class를 생성했다.
다음으로, 코드를 짜보자.
나는 '카프카, 데이터플랫폼의 최강자-실시간 비동기 스트리밍 솔루션 Kafka의 기본부터 확장 응용까지' 라는 책을 참고했다.
import org.apache.kafka.clients.producer.KafkaProducer;
import org.apache.kafka.clients.producer.Producer;
import org.apache.kafka.clients.producer.ProducerRecord;
import java.util.Properties;
public class MyKafkaProducer {
public static void main(String[] args){
Properties props = new Properties();
//브로커 리스트를 지정하는데, 나는 로컬환경에 카프카를 구축했고, 1대의 장비이기 때문에 다음과 같이 작성했다.
props.put("bootstrap.servers", "localhost:9092");
//Message의 Key와 value모두 String을 사용할 것이므로, StringSerializer를 지정했다.
props.put("key.serializer","org.apache.kafka.common.serialization.StringSerializer");
props.put("value.serializer","org.apache.kafka.common.serialization.StringSerializer");
//Properties 오브젝트를 전달하여 새로운 Producer를 생성한다.
Producer<String, String> producer = new KafkaProducer<>(props);
//생성한 Producer는 send함수를 이용하여 생성해둔 토픽(song-topic)으로 Message를 전달한다.
producer.send(new ProducerRecord<String, String>("song-topic", "hehe java test!"));
producer.close();
}
}
위 코드를 실행하면, Kafka에 다음과 같은 로그가 추가된 것을 확인할 수 있다.
Message를 발행했으니, 다음 글에서는 Consumer를 생성하여 Message를 수신해보자!
'Kafka' 카테고리의 다른 글
Kafka! 실시간으로 Message 처리하기! (Java) (0) | 2020.07.19 |
---|---|
Kafka Consumer를 생성하여 Message를 받아보자! (Java) (0) | 2020.07.19 |
IntelliJ Kafka 개발환경 구축하기! (0) | 2020.07.18 |
Kafka Topic, Producer, Consumer 생성하기 (0) | 2020.07.18 |
Kafka 1분만에 설치하기 (window) (0) | 2020.07.18 |