Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache kafka 卡夫卡偏移管理自动与手动_Apache Kafka_Kafka Consumer Api - Fatal编程技术网

Apache kafka 卡夫卡偏移管理自动与手动

Apache kafka 卡夫卡偏移管理自动与手动,apache-kafka,kafka-consumer-api,Apache Kafka,Kafka Consumer Api,我正在开发一个使用Kafka流的spring boot应用程序,在我的应用程序中,我只想管理Kafka偏移量,并在消息处理成功的情况下提交偏移量。这很重要,要确保即使卡夫卡重启或动物园管理员关机,我也不会丢失消息。我目前的情况是,当我的卡夫卡上下波动时,我的消费者从一开始就开始消费,并消费所有以前的信息 另外,我需要知道使用AutoCommitofset自动管理卡夫卡偏移量和使用HBase或zookeeper或检查点手动管理卡夫卡偏移量之间的区别是什么 另外,如果我们可以使用自动配置,那么手动管

我正在开发一个使用Kafka流的spring boot应用程序,在我的应用程序中,我只想管理Kafka偏移量,并在消息处理成功的情况下提交偏移量。这很重要,要确保即使卡夫卡重启或动物园管理员关机,我也不会丢失消息。我目前的情况是,当我的卡夫卡上下波动时,我的消费者从一开始就开始消费,并消费所有以前的信息

另外,我需要知道使用AutoCommitofset自动管理卡夫卡偏移量和使用HBase或zookeeper或检查点手动管理卡夫卡偏移量之间的区别是什么

另外,如果我们可以使用自动配置,那么手动管理它有什么好处?

您有

较旧的Kafka客户机确实使用Zookeeper进行偏移存储,但现在所有这些都在代理中以最小化依赖关系。Kafka Streams API无法在Kafka自身之外集成偏移存储,因此您必须使用使用者API查找并查找/提交偏移到外部存储,但是,如果您选择这样做,您仍然可能最终得到不理想的消息处理

我目前的情况是,当我的卡夫卡上下波动时,我的消费者从一开始就开始消费,并消费所有以前的信息

听起来像是您设置了
auto.offset.reset=earlime
,而您根本就没有提交任何偏移

自动提交设置执行定期提交,而不是“读取任何消息后自动”

如果您想保证交付,那么您需要在producer中至少设置
acks=1
,并在consumer中实际执行
commitSync