私は、JavaアプリケーションのJSONメッセージの一時記憶域としてシンプルな永続バッファーを探しています。メモリ使用量は比較的一定で、バッファ内のメッセージ数に依存してはいけません。過去のある時点からのメッセージを再生できるのはいいことです。古いメッセージの削除は効率的でなければなりません。 1mメッセージ/ hを処理できる必要があります。Javaのシンプルな永続メッセージバッファーを探しています
現在のところ、私のアプリケーションは、リモートのRabbitMQブローカにメッセージをシャベルするローカルのRabbitMQブローカを使用しています。リモートブローカが停止しているか、メッセージを受け付けていない場合、ローカルのRabbitMQブローカのメモリ使用量はキューの長さとともに増加し、最終的にはメッセージの受け入れを停止します。リモートのRabbitMQブローカにメッセージをコピーしているローカルディスクベースのバッファとスレッドのためにこれを交換したいと思います。
誰もが考えている?私はカフカを見てきましたが、私のユースケースでは過度のようです。 MongoDBは可能ですが、私はそのメモリ使用量が心配です。
わかりませんが多分Redis?それはパブ/サブもサポートしています... –
redisは速いですが、非常に多くのメモリが必要です。これをチェックしてください。 http://nosql.mypopescu.com/post/1010844204/redis-memory-usage –
https://github.com/peter-lawrey/Java-Chronicleのようなものを考えてみてください。毎秒10Mを超えるメッセージをサポートするように設計されていますが、それらを削除するためにファイルを回転させる必要があります。 –