kafkaはtopicにメッセージを送信する方法は?
KafkaのProducerAPIを使用して、1つ以上のトピックにメッセージを送信できます。
最初に、Producerインスタンスを作成し、そのKafkaクラスターのアドレスを渡す必要があります。Kafkaクラスターのアドレスは、bootstrap.servers属性を指定して、1つまたは複数指定することができます。
Properties props = new Properties();
props.put("bootstrap.servers", "kafka1:9092,kafka2:9092");
props.put("key.serializer", "org.apache.kafka.common.serialization.StringSerializer");
props.put("value.serializer", "org.apache.kafka.common.serialization.StringSerializer");
Producer<String, String> producer = new KafkaProducer<>(props);
次に、Producerのsendメソッドを使用してメッセージをトピックに送信できます。送信するメッセージのトピック、キー、および値を指定するためにProducerRecordインスタンスを作成する必要があります。
String topic = "my-topic";
String key = "my-key";
String value = "Hello, Kafka!";
ProducerRecord<String, String> record = new ProducerRecord<>(topic, key, value);
producer.send(record);
最終的に、Producerを使用した後にはcloseメソッドを呼び出して、Producerを閉じて関連リソースを解放する必要があります。
producer.close();
上記のコードフラグメントは、トピックにメッセージを送信する方法を示しています。必要に応じて、複数のメッセージを送信したり、メッセージのパーティションを指定したり、メッセージのコールバックを追加したりすることができます。