私たちはSpring Kafkaを使用してKafka Consumerを実装しています。単一のメッセージの処理が失敗した場合、私が正しく理解しているように、Kafka処理できないメッセージを消費する - 後で壊れたメッセージを再処理する方法?
のオプションがあり- いくつかの再試行が使用して処理しています気にしてばかりACK
- ないでください
RetryTemplate
- も、これが機能しない場合
RecoveryCallback
私はあなたのベストプラクティスがそれにどういうことをしているのですか? DeserializationException(JSON形式のメッセージ用)や長いローカルストレージのダウンタイムなど、単純なアプリケーションの例外を考えています。壊れたアプリケーションを修正するために、ホットフィックスの展開のような余分な作業が必要です。エラーメッセージ。
メッセージを失う(つまり処理しない)ことは選択肢ではないので、残っている唯一のオプションは、エラーメッセージを一部の永続ストアに保存することです。 g。他の「不具合のあるメッセージ」カフカの話題などであり、後でそれらのイベントを再処理することができ、イベント処理を完全に停止する必要はありません。
どのようにこれらのシナリオを処理しますか?