2016-09-13 13 views
0

私たちはAWSでテスト環境を実行しており、すべてのサーバーにNFS(EBSファイルシステム)マウントを使用してファイルにアクセスしています。複数のjavaプロセスがこのファイルシステム上のファイルにアクセスします。アプリケーションサーバーは、他のシステムで実行されている異なるコンシューマを使用してファイルを処理します。そのようなコンシューマの1人がイメージに変換したり、イメージを書き込んだりしますが、問題はアプリケーションサーバーがこれらのファイルにアクセスできないことです(file.exist()はfalseです)。今、奇妙なことは、ファイルページの最初のイメージ(複数ページのファイル)にアクセスすることはできませんが、2ページ目などにアクセスできることです。奇数ページのイメージにはアクセスできませんが、イメージがそこに存在することがわかります。だから、私はアプリケーションのサーバーがそれにアクセスしようとしている間、イメージの変換プロセスはまだ画像にアクセスしていると思うが、同じ問題は偶数ページの画像に現れません。これらのイメージはネストされたフォルダ内に存在するため、変換プロセスでもフォルダ構造が作成され、それらのフォルダに書き込まれます。どのようなアイデアがここで問題になるかもしれませんか? AWSのNFS共有でこの問題に直面している人は誰ですか?それはあなたのアプリケーションNFS共有ファイルアクセスの問題

NFSの期待される動作に依存

答えて

1

は読み取り専用のシステムまたはデータ

のタイムリーな更新に低需要を持っているプログラムの詳細については、この質問を参照してくださいに素晴らしい作品Alternative to File.exists() in Java

AWS EFSやオープンソースのGlusterなどの代替NFSを検討したいかもしれません

+0

マウントをCIFSに変更したため、この問題はCIFSマウントでも発生していますere。私はそれが根本原因であるEBSかどうか疑問に思います。 Btw、 "ls"コマンドで問題がなくなり、最終的にすべてのイメージファイルを取得できるようになりましたが、csマウントでファイルにアクセスする前に "ls"を削除したときに戻ってきました。 –

+1

私はそれがEBS – Vorsprung

+0

に関連しているかどうか疑問ですが、 "CIFS"の "キャッシュ"関連の問題への参照はありませんでした。それはCIFSにもありますか? –

関連する問題