Kafka之Consumer API详解

本文详细介绍了Kafka消费者API的使用,包括自动和手动提交offset、分区订阅、外部存储offset以及消费流控制。通过设置消费起点,可以实现数据的重复消费或跳跃性消费。同时,消费者可以暂停和恢复特定分区的消费,以适应不同速率的数据源。此外,offset的外部存储确保了数据和offset的一致性,防止数据丢失。
摘要由CSDN通过智能技术生成

Kafka中如何创建消费者Consumer已经在前面给大家详细的讲解过,那么如何使用JAVA来消费topic中的数据呢呢,今天就说说。
还是先创建一个topic,拥有一个副本和一个分区

kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test

示例:

自动提交offset

public class MyConsumer{
   
    public static void main(String[] args) {
   
    	Properties prop = new Properties();    
    	prop.put("bootstrap.servers", "node01:9092,node02:9092,node03:9092");
	//或者
	prop.put(ConsumerConfig.BOOTSTRAP_SERVERS_CONFIG,"192.168.5.150:9092");
	
	prop.put("group.id", "testGroup1");    //必须要组名
	//或者
	prop.put(ConsumerConfig.GROUP_ID_CONFIG,"testGroup1");

	prop.put("enable.auto.commit", "true");//默认值true  指定为自动提交offset
	//或者
	prop.put(ConsumerConfig.ENABLE_AUTO_COMMIT_CONFIG, "true");


	prop.put("auto.commit.interval.ms", "1000");//默认值5000
	//或者
	prop.put(ConsumerConfig.AUTO_COMMIT_INTERVAL_MS_CONFIG, "1000");
 
	prop.put(auto.offset.reset, "earliest");  //相当于从开始读  --from-beginning
	//或者
	prop.put(ConsumerConfig.AUTO_OFFSET_RESET_CONFIG, "earliest"); 

	//反序列化
	prop.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值