Kafka - 在丢弃之前存储未消费的消息

问题描述 投票:0回答:1

根据 Kafka 文档这里

Kafka 集群会在可配置的时间段内保留所有已发布的消息(无论它们是否已被消费)。例如,如果日志保留时间设置为两天,则消息发布后的两天内可供使用,之后将被丢弃以释放空间。

有没有什么方法可以存储(比如在数据库中)未消费的消息,然后在 Kafka 保留期过后将其丢弃?

apache-kafka messaging
1个回答
0
投票

如果超过 log.retention.hours 或 log.retention.bytes ,Kafka 会删除日志。在您的情况下,如果您想存储那些将要删除的未使用的消息, 首先使用如下类似命令找到之前的消费者消费过数据的位置,

/bin/kafka-consumer-groups.sh --bootstrap-server localhost:9092 --describe --group 1

现在尝试通过启动 kafka-console-consumer 来将未使用的消息存储在文件中,方法是提供与要使用未使用的消息的位置的适当偏移量。

/bin/kafka-console-consumer --bootstrap-server --topic --partition 1 --offset 1060 > file.out

© www.soinside.com 2019 - 2024. All rights reserved.