Java アプリケーションの JSON メッセージの一時ストレージとして単純な永続バッファを探しています。メモリ使用量は比較的一定で、バッファ内のメッセージ数には依存しません。過去のある時点からのメッセージを再生できると便利です。古いメッセージの削除は効率的です。1 時間あたり 100 万メッセージを処理できる必要があります。
現在、私のアプリケーションは、リモートの RabbitMQ ブローカーにメッセージを送信するローカルの RabbitMQ ブローカーを使用しています。リモート ブローカがダウンしているか、メッセージを受け入れていない場合、ローカルの RabbitMQ ブローカのメモリ使用量がキューの長さとともに増加し、最終的にメッセージの受け入れを停止します。これを、ローカル ディスク ベースのバッファと、リモートの RabbitMQ ブローカにメッセージをコピーするスレッドに交換したいと考えています。
誰にもアイデアはありますか?私は Kafka を見てきましたが、私のユースケースではやり過ぎのようです。MongoDB も可能ですが、メモリ使用量が心配です。