apachekafka阅读后手动删除队列

ix0qys7i  于 2021-06-07  发布在  Kafka
关注(0)|答案(2)|浏览(341)

我对kafka真的很陌生,我注意到在消费者阅读了队列消息之后,似乎队列消息已经不见了。如果这是主题队列的正常行为。。。有没有办法在阅读主题消息后不自动删除?
顺便说一下,这是我用来启动本地kafka服务器的命令:

.\bin\windows\zookeeper-server-start.bat .\config\zookeeper.properties
.\bin\windows\kafka-server-start.bat .\config\server.properties

Kafka版本:Kafka2.12-1.0.0
我使用kafka来存储我的邮件发送者服务将处理(读取)的所有邮件。问题是。。。似乎在邮件服务器读取主题邮件(mail message)之后,无论邮件发送过程是否成功,它都将永远消失。
我想知道这对Kafka来说是否正常。
如果是,是否有一种方法可以在邮件发送成功后手动删除主题邮件。
抱歉,如果我的问题完全是胡说八道。

monwx1rj

monwx1rj1#

在您阅读消息后,消费者的偏移量会发生变化。
如果我对你的问题理解正确,你可能需要尽早阅读。
查看properties.put(consumerconfig.auto琰offset琰reset琰config,“最早”);

9jyewag0

9jyewag02#

不用道歉。
在Kafka中,消息(或记录)在使用后不会被删除。
您的消费者有一个名为“group.id”的属性,并且经纪人将其关联一个偏移量。这个偏移量也存储在另一个名为“\u consumer”的Kafka主题中。
如果停止使用者并再次启动它(使用相同的group.id属性值),代理将从使用者停止前提交的最后一个偏移量向您发送较新的记录。如果您用另一个group.id启动另一个使用者,则group.id没有现有的偏移量,并且根据您使用以下使用者属性决定的策略 properties.put(ConsumerConfig.AUTO_OFFSET_RESET_CONFIG, "earliest"); 您将重新使用所有主题。
如果不是这样的话,也许你的主题保留得太短了?您可以使用以下命令进行检查: kafka-topics --zookeeper host_zoo:port_zoo --topic your_topic --describe

相关问题