私はSpringを使用していますKafkaコンシューマは、トピックからメッセージをフェッチしてデータベースに永続化します。障害条件が満たされた場合、たとえば、データベースが利用できない場合、kafkaコンシューマライブラリは再試行するメカニズムを提供しますか?その場合、1回目の再試行は5分後に、2回目は30分後に、3回目は1時間後になど、異なる再試行間隔を設定する方法はありますか?.
Spring KafkaはRetryingMessageListenerAdapter
およびRetryingAcknowledgingMessageListenerAdapter
に同梱されています。@KafkaListener
を使用する場合、AbstractKafkaListenerContainerFactory
にRetryTemplate
。そして、最後のものには、Spring RetryプロジェクトからのカスタムRetryPolicy
およびBackOffPolicy
を注入できます。
また、バージョン2.0
以降、Apache Kafka 0.11.x.x
:のようなものに基づいて、Spring Kafkaでトランザクションがサポートされています。
https://docs.spring.io/spring-kafka/docs/2.0.0.RELEASE/reference/html/_reference.html#transactions