kafka怎么用代码读取数据

Kafka可以通过Java语言中的Kafka客户端库来读取数据。以下是一个简单的Java代码示例,通过Kafka Consumer API从Kafka集群中读取数据:

java 复制代码
```java
import java.util.Properties;
import org.apache.kafka.clients.consumer.ConsumerRecords;
import org.apache.kafka.clients.consumer.ConsumerRecord;
import org.apache.kafka.clients.consumer.KafkaConsumer;

public class KafkaConsumerExample {
   public static void main(String[] args) throws Exception {

      String topicName = "my-topic";
      Properties props = new Properties();
      props.put("bootstrap.servers", "localhost:9092");
      props.put("group.id", "test-group");
      props.put("key.deserializer", "org.apache.kafka.common.serialization.StringDeserializer");
      props.put("value.deserializer", "org.apache.kafka.common.serialization.StringDeserializer");

      KafkaConsumer<String, String> consumer = new KafkaConsumer<>(props);
      consumer.subscribe(Arrays.asList(topicName));

      while (true) {
         ConsumerRecords<String, String> records = consumer.poll(100);
         for (ConsumerRecord<String, String> record : records) {
            System.out.printf("offset = %d, key = %s, value = %s%n", record.offset(), record.key(), record.value());
         }
      }
   }
}
```

在这个示例中,我们使用KafkaConsumer类,它是Kafka Java客户端库的一部分,从指定的主题(topic)中消费数据。我们设置了Kafka集群的地址(bootstrap.servers),将自己的消费组ID(group.id)分配给消费者,以及对键(key)和值(value)进行反序列化。在这个示例中,我们使用StringDeserializer,但您可以使用任何其他适当的序列化程序。

在while循环中,我们使用poll()方法从Kafka集群中获取消息,等待100毫秒。然后我们遍历这些消息并打印它们的偏移量、键和值。

相关推荐
Javatutouhouduan3 小时前
大厂面试真题汇总(2026版)
分布式·微服务·java面试·java面试题·后端开发·java程序员·java八股文
学到头秃的suhian4 小时前
消息队列解耦及基本使用
kafka
indexsunny5 小时前
互联网大厂Java求职面试实战:核心技术与业务场景解析
java·spring boot·redis·微服务·kafka·互联网大厂·面试技巧
星辰_mya8 小时前
ZooKeeper 分布式锁:强一致性下的“排队”哲学
分布式·zookeeper·云原生·面试·分布式锁
学到头秃的suhian9 小时前
消息队列削峰和分发
kafka
隔壁小邓10 小时前
数据库中间件全景解析:从连接管理到分布式协同
数据库·分布式·中间件
编程小风筝10 小时前
如何用redission实现springboot的分布式锁?
spring boot·分布式·后端
尽兴-13 小时前
大厂生产级 Redis 分布式锁:从原理到避坑实战
数据库·redis·分布式·分布式锁·setnx
殷紫川14 小时前
击穿分布式高可用核心:故障检测、隔离、恢复全链路架构设计与生产实战
分布式
骇客野人15 小时前
使用org.redisson.api制作分布式锁
分布式