簡體   English   中英

如何在Kafka中為消費者發送OffsetCommitRequest?

[英]How to send OffsetCommitRequest for a consumer in Kafka?

我試圖在Kafka消費者API中使用OffsetCommitRequest 0.9版,它包含在以下包中:org.apache.kafka.common.requests.OffsetCommitRequest

如何發送此請求? 使用它的理想方法是什么? 我想在卡夫卡本身提出補償。 我沒有找到任何與0.9版相關的文檔。 其中大部分可用於0.8.x.

此外,此請求的構造函數采用生成ID,成員標識和保留時間。 這些領域是什么?

如果要手動提交偏移量,可能應該設置使用者屬性

enable.auto.commit=false

並使用kafka使用者的commitSync()或commitAsync()方法。 例如,您可以在處理完所有ConsumerRecords后調用commitSync()。 或者您甚至可以在每次收到ConsumerRecord之后提交您想要的TopicPartition。 像這樣:

Map<TopicPartition, OffsetAndMetadata> offsetMap = new HashMap<>();
offsetMap.put(new TopicPartition(someTopic, somePartition), new OffsetAndMetadata(someOffset));
kafkaConsumer.commitSync(offsetMap);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM