写出一段Kafka的使用方法代码
时间: 2023-06-24 08:06:10 浏览: 59
以下是一个简单的 Java 代码示例,演示如何使用 Kafka 生产和消费消息:
```java
import org.apache.kafka.clients.producer.*;
import org.apache.kafka.clients.consumer.*;
import org.apache.kafka.common.serialization.StringSerializer;
import org.apache.kafka.common.serialization.StringDeserializer;
import java.util.Properties;
public class KafkaExample {
public static void main(String[] args) throws Exception {
// 设置 Kafka 生产者配置信息
Properties producerProps = new Properties();
producerProps.put("bootstrap.servers", "localhost:9092");
producerProps.put("key.serializer", StringSerializer.class.getName());
producerProps.put("value.serializer", StringSerializer.class.getName());
// 创建 Kafka 生产者实例
Producer<String, String> producer = new KafkaProducer<>(producerProps);
// 生产并发送一条消息
producer.send(new ProducerRecord<>("my-topic", "hello", "world"));
// 关闭 Kafka 生产者
producer.close();
// 设置 Kafka 消费者配置信息
Properties consumerProps = new Properties();
consumerProps.put("bootstrap.servers", "localhost:9092");
consumerProps.put("group.id", "my-group");
consumerProps.put("key.deserializer", StringDeserializer.class.getName());
consumerProps.put("value.deserializer", StringDeserializer.class.getName());
// 创建 Kafka 消费者实例
KafkaConsumer<String, String> consumer = new KafkaConsumer<>(consumerProps);
// 订阅主题
consumer.subscribe(Collections.singleton("my-topic"));
// 消费消息
while (true) {
ConsumerRecords<String, String> records = consumer.poll(Duration.ofMillis(100));
for (ConsumerRecord<String, String> record : records) {
System.out.printf("offset = %d, key = %s, value = %s%n", record.offset(), record.key(), record.value());
}
}
}
}
```
在这个示例中,我们使用 `org.apache.kafka.clients.producer` 和 `org.apache.kafka.clients.consumer` 包中的类来创建 Kafka 生产者和消费者实例。我们设置了 Kafka 生产者和消费者的配置信息,包括 Kafka 集群的地址、序列化器和反序列化器等。然后,我们使用 Kafka 生产者实例来发送一条消息到名为 "my-topic" 的主题。接下来,我们创建 Kafka 消费者实例并订阅了同样的主题。最后,我们使用一个无限循环来消费来自 Kafka 消费者实例的消息,并将它们打印到控制台上。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)