我们在 AWS 上运行我们的测试环境,我们在所有服务器上使用 NFS(EBS 文件系统)挂载来访问我们的文件。多个 java 进程访问此文件系统上的文件。应用程序服务器使用在其他系统上运行的不同消费者来处理文件。一个这样的消费者将或文件转换为图像,但问题是应用程序服务器无法访问这些文件(file.exist() 为 false)。现在奇怪的是,它无法访问文件页面的第一张图片(有几页的文件),但可以访问第二页,依此类推。很多时候我观察到,奇数页图像无法访问,但我可以看到图像存在于那里。所以,我认为图像转换过程仍在访问图像,而应用程序服务器试图访问它,但同样的问题并没有出现在偶数页图像上。这些图像位于嵌套文件夹中,因此转换过程还会创建文件夹结构,然后将它们写入这些文件夹。知道这里可能是什么问题吗?有人在 AWS 上遇到 NFS 共享问题吗?
最佳答案
这取决于您的应用程序的预期行为
NFS 非常适合只读系统或对及时更新数据要求不高的程序
有关详细信息,请参阅此问题 Alternative to File.exists() in Java
您可能想考虑 NFS 的替代方案,例如 AWS EFS 或开源 Gluster
关于java - NFS 共享文件访问问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39465067/