리눅스/kafka

kafka 복습 - 간단한 프로듀서 만들어서, 간단한 메시지 1개 전송

정지홍 2024. 10. 31. 16:09

1. 우선 다음과 같이 간단한 메시지 1개를 보내는 프로그램을 작성한다.

import org.apache.kafka.clients.producer.KafkaProducer;
import org.apache.kafka.clients.producer.ProducerConfig;
import org.apache.kafka.clients.producer.ProducerRecord;
import org.apache.kafka.common.serialization.StringSerializer;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.util.Properties;

public class simpleProducer {
    private final static Logger logger = LoggerFactory.getLogger(simpleProducer.class.getName());
    private final static String topic = "test-topic";
    public static void main(String[] args) {
        Properties props = new Properties();
        props.setProperty("bootstrap.servers", "localhost:9092");
        props.setProperty(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG , "localhost:9092");
        props.setProperty( ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG , StringSerializer.class.getName());
        props.setProperty( ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG , StringSerializer.class.getName());

        KafkaProducer< String , String > kafka = new KafkaProducer<>(props);
        ProducerRecord< String , String > record = new ProducerRecord<>(topic, "keyMessage", "valueMessage");
        kafka.send(record);

        logger.info("{}",record);
        kafka.flush();
        kafka.close();
    }
}

2. topic="test-topic"이니 해당되는 토픽이 존재해야함. 그래서 만듬

kafka-topics --bootstrap-server localhost:9092 --create --topic test-topic

 


3. producer 프로그램을 실행해서 메시지를 토픽으로 보낸다.


4. 다음과 같이 console-consumer에서 확인할 수 있었다.

'리눅스 > kafka' 카테고리의 다른 글

kafka connect란?  (1) 2024.11.03
kafka streams란?  (3) 2024.11.03
kafka local download  (0) 2024.10.31
zookeeper shell command  (1) 2024.10.31
kafka 복제 및 leader,follower 실습  (0) 2024.10.31