からの回復は、ここでカフカについて、私の問題だ:カフカ - ジャワ - crashs
私は(一方が他方を読んで、生産された)カフカとデータを交換する2つのプログラムがあります。顧客がクラッシュしたとしましょう。プロデューサーはメッセージを送信し続け、しばらくしてから、顧客を再起動します。私たちの現在のブローカーの設定で
が、ここで発生するものを想定している:(1440ある offsets.retention.minutes として)
クラッシュが1日未満前に起こった-IF、検索されたオフセットは、待機中のメッセージは処理されます。
- クラッシュが1日以上前に発生した場合、お客様の新しいオフセットは最も早くリセットされます(auto.offset.resetが最も早い)。問題は、カフカが7日間のメッセージを保存する(log.retention.hoursが168であるため)、一部のメッセージがすでに処理されている(1日前と7日前の間に)場合、再びメッセージが表示されます。
は解決策は(もちろん変換分< =>時間をやって)同じ値に両方offsets.retention.minutesとlog.retention.hoursを設定するのと同じくらい簡単ですか?それとも、それは私が逃したいくつかの副作用がありますか?より簡単な解決策は、既に処理されたメッセージを削除するだけですが、カフカはそれを実行できないようです。読んでいただきありがとうございます。