我们正在开发一个JavaEE应用程序,用户可以将图像,视频(通常是包含大量小文件的zip)上传到服务器,通常我们会将文件(文件)保存到某个本地目录,然后是用户可以访问它们。
但是,一旦将应用程序部署在负载平衡所在的多个服务器上,事情就会变得复杂。假设有两个服务器Server1
和Server2
,并且一个用户尝试上传一些文件,并且此请求将被分派到Server2
,这里没有任何错误。然后,另一个用户尝试访问该文件,并将其请求分派到Server1
,然后应用程序找不到该文件。
听起来我需要一个分布式文件系统,而我只需要一些功能:
1)Nodes can detect each other by themselves.
2)read and write file/directory
3)unzip archive
4)automatically distributes data based on the available space of nodes
HDFS对我的应用来说太大了,我不需要处理数据,我只关心存储。
是否有基于java的轻量级替代解决方案可以嵌入我的应用程序中?
答案 0 :(得分:1)
我可能会使用共享network attached storage在操作系统级别解决此问题。 (如果您没有可用的专用NAS,则可以通过与NFS共享相关目录使应用程序服务器充当NAS。)