1

ソースとインフラストラクチャへの影響を最小限に抑えて、Javaアプリを水平方向にスケーリングするためのよりクリーンな方法を探しています。これが私の問題です:私は現在ローカルファイルシステムにリソースを保存しているので、一貫してする必要がありますこれらのファイルをすべての新しい処理処理ノード間で共有します。ehcacheとterractoraサーバーアレイの存在を知っていますが、localRestartable(永続性が保証されています)はehcacheエンタープライズでのみ利用可能であり、商用ライセンスを可能な限り遠ざけたいと考えています。他の選択肢としては、memcached、redis、mongodb(永続性を念頭に置いて)、さらにはnfsがありますが、これらのサービスをストレージサービスとして使用した経験のある人の意見が必要です。また、次のことを明確にする必要があります。要件によりオンラインクラウドを使用できないもちろん、データセンターにインストールできる代替手段を利用できますが、ストレージサービスです。

4

1 に答える 1

1

MongoDBを使用すると、次の利点を活用できます。

バイナリファイルをMongoDBに保存するためのいくつかのオプションがあります。

1)MongoDBドキュメントのフィールド内にバイナリデータとしてファイルを保存できます。現在のドキュメントサイズの制限(MongoDB 2.2の場合)は16Mbであり、これは最大1Mbのファイルには十分すぎるようです。

2)GridFS APIを使用して、大きなドキュメントを便利に操作したり、小さなチャンクでバイナリファイルをフェッチしたりできます( GridFSクラスのJavaドキュメントも参照してください)。

于 2012-09-07T14:11:18.863 に答える