不提交/确认Kafka消息消费后的后果(自动提交已禁用)
创始人
2025-01-08 05:30:02
0

当我们使用Kafka消费者消费消息时,如果开启自动提交,则消费者会自动提交offset。但如果禁用了自动提交,则需要手动提交offset,否则可能会导致如下问题:

  1. 重复消费:消费者会重新从上一个提交的offset处开始消费消息,如果没有提交offset,则会重新消费已经消费过的消息。

  2. 消费消息丢失:如果在消费消息后没有提交offset,而消费者因为某些原因重启了,那么在重启后就会从上一个提交的offset处开始消费,而之前没有提交offset的消息就会丢失。

为了避免这种情况发生,我们可以使用以下代码手动提交offset:

// 初始化Kafka消费者
Properties props = new Properties();
props.put("bootstrap.servers", "localhost:9092");
props.put("group.id", "my-group");
props.put("enable.auto.commit", "false");
props.put("auto.offset.reset", "earliest");
props.put("key.deserializer", "org.apache.kafka.common.serialization.StringDeserializer");
props.put("value.deserializer", "org.apache.kafka.common.serialization.StringDeserializer");
KafkaConsumer consumer = new KafkaConsumer<>(props);

// 订阅主题
consumer.subscribe(Collections.singletonList("my-topic"));

try {
  while (true) {
    ConsumerRecords records = consumer.poll(Duration.ofMillis(100));
    for (ConsumerRecord record : records) {
      System.out.println("消费消息,topic = " + record.topic() + ", partition = " + record.partition() + ", offset = " + record.offset() + ", value = " + record.value());
    }
    // 手动提交offset
    consumer.commitSync();
  }
} finally {
  consumer.close();
}

在上述代码中,我们首先通过设置enable.auto.commitfalse来禁用自动提交offset。然后在每次消费完消息后,手动调用`commit

相关内容

热门资讯

推荐十款!poker worl... 推荐十款!poker world辅助器,xpoker辅助助手,wepoke教程(有挂解说)1、pok...
一分钟揭秘!哈糖大菠萝怎么开挂... 一分钟揭秘!哈糖大菠萝怎么开挂,sohoo辅助,必胜教程(有挂教程)暗藏猫腻,小编详细说明哈糖大菠萝...
攻略讲解!we poker免费... 攻略讲解!we poker免费辅助器(透视脚本)详细透视辅助黑科技(好像是真的有挂)亲,关键说明,w...
重大通报!聚星ai辅助工具收费... 重大通报!聚星ai辅助工具收费多少(透视脚本)详细透视辅助机制(确实真的是有挂)1、聚星ai辅助工具...
终于知道!xpoker辅助怎么... 终于知道!xpoker辅助怎么用,拱趴大菠萝作弊方法,可靠教程(有挂介绍)1、首先打开拱趴大菠萝作弊...
教学盘点!epoker免费透视... 教学盘点!epoker免费透视脚本,xpoker怎么作弊,玩家教你(有挂攻略);亲,关键说明,epo...
我来教教大家!xpoker透视... 我来教教大家!xpoker透视辅助(透视脚本)详细透视辅助挂(好像是真的有挂)1、每一步都需要思考,...
今日百科!德州之星扫描器,约局... 今日百科!德州之星扫描器,约局吧德州真的有透视挂吗,新2025教程(有挂技巧)在进入约局吧德州真的有...
玩家必看科普!德州透视脚本,x... 玩家必看科普!德州透视脚本,xpoker辅助助手,攻略方法(有挂解密);1、上手简单,内置详细流程视...
八分钟德州局透视!德州辅助工具... 八分钟德州局透视!德州辅助工具到底怎么样,智星德州辅助译码插件靠谱吗,详细教程(有挂方法);1、该软...