2017-02-22 78 views

回答

0

卡夫卡保留了配置的保留期限是否已經被消耗或沒有消息,這樣可以讓消費者回到偏移他們以前處理,並再次回升有。

我自己並沒有使用Kafka插件,但它看起來像你可以禁用自動提交併自己管理。您可能需要Apache中的Kafka系統工具和作業中的一些命令行步驟。您必須在開始時獲取當前偏移量,從消耗的消息中獲取最後一個偏移量,並且如果作業/批處理達到完成,則將最後一個偏移量提交到羣集。

這可能是因爲您也可以將起始偏移量作爲字段(消息鍵?)提供給插件,但我找不到任何文檔。在這種情況下,您可以將偏移量與您的目標數據一起存儲,並返回到每次運行開始時的最後偏移量。失敗的運行不會更新目標偏移量,因此不會丟失任何消息。

如果轉到第二條路徑,請注意auto.offset.reset設置和行爲,因爲如果目標中的最後一個偏移量已超過保留期限,它已經從羣集中消失了。