プロジェクトでSpring Kafka Clientを使用しています。最近、OutOfMemoryError サービスが原因で Kafka コンシューマーが停止した場合、サービスは正常に動作し続け、新しいコンシューマーは作成されないことに気付きました。これを修正する唯一の方法は、ログで OOM を監視し、サービスを手動で再起動することです。私たちは、消費者のレクリエーションを自動化する方法を探しています。例えば:
- Spring に (何らかの方法で) 死亡したコンシューマーを検出させ、実行時に新しいコンシューマーを作成させます。
- コンシューマ スレッドで OOM が発生した場合、サービス全体を強制終了して、AWS Auto Scaling グループがサービスの新しいインスタンスを作成できるようにします。
任意の提案やアイデアをいただければ幸いです。ありがとうございました!