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分钟。

相关推荐
架构师老Y4 小时前
011、消息队列应用:RabbitMQ、Kafka与Celery
python·架构·kafka·rabbitmq·ruby
talen_hx2969 小时前
《kafka核心源码解读》学习笔记 Day 02
笔记·学习·kafka
lifallen9 小时前
如何保证 Kafka 的消息顺序性?
java·大数据·分布式·kafka
真实的菜9 小时前
Kafka 2.x vs 3.x,我为什么选择升级?
kafka
时光追逐者9 小时前
分享四款开源且实用的 Kafka 管理工具
分布式·kafka·开源
Rick19939 小时前
rabbitmq, rocketmq, kafka这三种消息如何分别保住可靠性,顺序性,以及应用场景?
kafka·rabbitmq·rocketmq
☞遠航☜11 小时前
kafka快速上手
分布式·kafka·linq
工具罗某人1 天前
docker compose部署kafka集群搭建
docker·容器·kafka
qq_297574671 天前
【Kafka 系列・入门第六篇】Kafka 集群部署(3 节点)+ 负载均衡配置
分布式·kafka·负载均衡