KafKa手动提交问题描述

KafKa手动提交offset问题描述

在分布式架构,我在XXJOB来进行调用接口产生数据,将数据提交KafKa进行存储;然后将KafKa中数据拿出来消费,在处理KafKa出来的数据时,调用另外一个服务时,正好另外一个服务挂了,导致手动提交offset失败,造成数据的重复消费;

@KafkaListener(topics = "xxx",groupId = "consumer01")
    public void listen(ConsumerRecord record, @Header(KafkaHeaders.RECEIVED_TOPIC) String topic, Acknowledgment ack) {
   
   		/**
   			代码块(其中有调用别的服务接口)
   		**/
   		// 手动提交offset
        ack.acknowledge();
    }

问题解决

解决方案就是将可能有问题的代码使用try…catch进行捕获异常,然后在finally进行手动提交offset

@KafkaListener(topics = "xxx",groupId = "consumer01")
    public void listen(ConsumerRecord record, @Header(KafkaHeaders.RECEIVED_TOPIC) String topic, Acknowledgment ack) {
   
    	try{
   
	    	/**
	   			代码块(其中有调用别的服务接口)
	   		**/
    	}catch(Exception e){
   
    		
    	}finally{
   
    		// 手动提交offset
        	ack.acknowledge();
    	}
   		
   		
    }

解决方案仅供参考,不喜勿喷。

相关推荐

  1. KafKa手动提交问题描述

    2023-12-22 01:42:02       38 阅读
  2. kafka中,使用ack提交时,存在重复消费问题

    2023-12-22 01:42:02       37 阅读
  3. Kafka消费者提交偏移量

    2023-12-22 01:42:02       32 阅读
  4. Git 使用规范:起名字、提交描述的最佳实践

    2023-12-22 01:42:02       42 阅读
  5. MySQL 如何优化DISTINCT问题描述

    2023-12-22 01:42:02       22 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-22 01:42:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-22 01:42:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-22 01:42:02       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-22 01:42:02       20 阅读

热门阅读

  1. 蓝桥杯-每日刷题-023

    2023-12-22 01:42:02       30 阅读
  2. Linux命令行控制小米电源开关

    2023-12-22 01:42:02       30 阅读
  3. Solidity-5-表达式和控制结构

    2023-12-22 01:42:02       27 阅读
  4. PyQt中的冒号(:)

    2023-12-22 01:42:02       34 阅读
  5. RHCE8 资料整理(十二)

    2023-12-22 01:42:02       41 阅读
  6. Issues about Ubuntu & ROS

    2023-12-22 01:42:02       32 阅读
  7. 【版本管理】git stash用法

    2023-12-22 01:42:02       30 阅读
  8. vue跳转方式

    2023-12-22 01:42:02       38 阅读
  9. HarmonyOS开发(十二):ArkTS组件通用事件

    2023-12-22 01:42:02       28 阅读