kafka 延迟消费配置

消费者增加配置

增加配置:

ConsumerConfig.DELAYED_TIME_MS_CONFIG,单位为ms

测试验证

消费入口代码如下所示:

java 复制代码
    @Override
    protected void processRecord(ConsumerRecord<String, String> record) {
        String timestamotype = record.timestampType().toString();
        long timestamp = record.timestamp();
        log.info("[SocDlpAlertConsumer] processRecord timestamotype:{}, timestamp:{}", timestamotype, timestamp);
        String message = record.value();
        try {
            socDlpAlertTransferHandler.process(message);
        } catch (Exception e) {
            log.error("[SocDlpAlertConsumer]:process message error", e);
        }
    }

其中当timestamotype的值为CreateTime时,timestamp的值为生产者生产消息的时间。通过日志打印时间(消费者消费时间)和生产者消息作对比可以查看延迟消费效果。部分日志样例如下所示:

java 复制代码
2025-11-01 14:55:04.185 | [task-4] | [] | com.manager.kafka.consumer.SocDlpAlertConsumer |  INFO | [SocDlpAlertConsumer] processRecord timestamotype:CreateTime, timestamp:1761979503448
2025-11-01 14:55:04.186 | [task-4] | [] | com.manager.kafka.consumer.SocDlpAlertConsumer |  INFO | [SocDlpAlertConsumer] processRecord timestamotype:CreateTime, timestamp:1761979503448
2025-11-01 14:55:04.186 | [task-4] | [] | com.manager.kafka.consumer.SocDlpAlertConsumer |  INFO | [SocDlpAlertConsumer] processRecord timestamotype:CreateTime, timestamp:1761979503449
2025-11-01 14:55:04.186 | [task-4] | [] | com.manager.kafka.consumer.SocDlpAlertConsumer |  INFO | [SocDlpAlertConsumer] processRecord timestamotype:CreateTime, timestamp:1761979503449
2025-11-01 14:55:04.186 | [task-4] | [] | com.manager.kafka.consumer.SocDlpAlertConsumer |  INFO | [SocDlpAlertConsumer] processRecord timestamotype:CreateTime, timestamp:1761979503450
2025-11-01 14:55:04.187 | [task-4] | [] | com.manager.kafka.consumer.SocDlpAlertConsumer |  INFO | [SocDlpAlertConsumer] processRecord timestamotype:CreateTime, timestamp:1761979503450
2025-11-01 14:55:04.187 | [task-4] | [] | com.manager.kafka.consumer.SocDlpAlertConsumer |  INFO | [SocDlpAlertConsumer] processRecord timestamotype:CreateTime, timestamp:1761979503451
2025-11-01 14:55:04.187 | [task-4] | [] | com.manager.kafka.consumer.SocDlpAlertConsumer |  INFO | [SocDlpAlertConsumer] processRecord timestamotype:CreateTime, timestamp:1761979503451
2025-11-01 14:55:04.187 | [task-4] | [] | com.manager.kafka.consumer.SocDlpAlertConsumer |  INFO | [SocDlpAlertConsumer] processRecord timestamotype:CreateTime, timestamp:1761979503452

通过时间戳转换,可以看到消费时间和生产时间查10分钟。

相关推荐
RobinXYuan15 小时前
【Kafka 源码手记】05 Broker 网络层与请求处理(中):Processor 事件循环与线上的字节
kafka·源码阅读
坐吃山猪18 小时前
Kafka13-自定义分区器
kafka
starzy199018 小时前
Kafka请求进门口:Processor是怎么把请求读上来的
分布式·kafka
starzy19902 天前
Kafka网络层第一道门:Acceptor线程是怎么启动的
大数据·kafka
huaweichenai2 天前
spring boot对接kafka实现消息队列处理
spring boot·后端·kafka
你看我名字2 天前
Kafka 架构、消息可靠性与生产运维:从分区模型到故障治理
运维·架构·kafka
starzy19902 天前
Kafka源码深度剖析:消息有异常是如何处理的
大数据·kafka
starzy19902 天前
Kafka写数据入口:消息进了Broker之后交给谁
大数据·kafka
螺蛳粉 螺蛳粉2 天前
CDH第七篇:CDH 集成 Kafka 实战:CSD + Parcel 组合拳,先装 ZooKeeper 是铁律
物联网·zookeeper·kafka·消息队列·parcel·cdh集成·csd
Flynn Liang3 天前
物联网时序数据乱序问题全链路治理:从设备到存储的五层实战(附 Flink/Kafka/IoTDB 配置级代码)
flink·kafka·iot·iotdb·emqx·乱序·时序数据