Node.js nodejs中在本地文件系统和amazons3文件系统之间切换的最佳方法是什么?

Node.js nodejs中在本地文件系统和amazons3文件系统之间切换的最佳方法是什么?,node.js,amazon-web-services,amazon-s3,filesystems,fs,Node.js,Amazon Web Services,Amazon S3,Filesystems,Fs,我正在寻找在使用本地文件系统和AmazonS3文件系统之间切换的最佳方法 我认为理想情况下,我希望这两个文件系统都有一个包装器,可以对其进行编码。配置更改将告诉包装器要使用哪个文件系统。这对我很有用,因为开发人员可以使用本地文件系统,但我们的托管环境可以通过更改配置选项来使用AmazonS3 是否有任何现有的包装器可以这样做?我应该自己写包装纸吗? 还有其他我不知道的更好的方法吗?有一个名为的项目,它在S3之上提供了POSIX文件系统函数的子集。没有本地亚马逊提供的方法来做到这一点 然而,你应该

我正在寻找在使用本地文件系统和AmazonS3文件系统之间切换的最佳方法

我认为理想情况下,我希望这两个文件系统都有一个包装器,可以对其进行编码。配置更改将告诉包装器要使用哪个文件系统。这对我很有用,因为开发人员可以使用本地文件系统,但我们的托管环境可以通过更改配置选项来使用AmazonS3

是否有任何现有的包装器可以这样做?我应该自己写包装纸吗? 还有其他我不知道的更好的方法吗?

有一个名为的项目,它在S3之上提供了POSIX文件系统函数的子集。没有本地亚马逊提供的方法来做到这一点

然而,你应该仔细考虑这是否是一个明智的选择。S3是一个对象存储,而不是一个常规的文件系统,它具有完全不同的性能和延迟特性


如果您正在寻找高iops、NAS风格的存储,那么Amazon EFS(预览版)将更合适。或者使用EBS卷或。

我喜欢您构建一个可以使用本地文件系统或S3的包装器的想法。我不知道有什么东西能为你提供这些,但如果你发现了什么,我肯定很想听听

另一种方法是使用某种类型的S3文件系统装载,这样应用程序就可以始终使用标准文件系统I/O,但如果系统将该位置配置为S3装载,则数据可能会写入S3。我不推荐这种方法,因为我从来没有听说过S3安装解决方案没有问题

另一种选择是只将应用程序设计为使用S3,然后在开发环境中使用某种与S3兼容的本地对象存储。有几种解决方案可以在开发过程中提供与S3兼容的服务。

有一种称为“可以做你想做的事情”的服务

根据他们的文件:

JuiceFS是专门设计的与POSIX兼容的共享文件系统 在云端工作

它被设计为在云中运行,因此您可以利用便宜的价格 提供对象存储服务,以经济地存储数据

这是一个 与POSIX兼容的文件系统,因此您可以像 访问本地文件

它是一个共享文件系统,因此您可以共享您的 跨多台计算机的文件


s3
是受支持的后端之一,您甚至可以将其配置为将文件复制到另一个云上的不同对象存储系统。

s3fs看起来很有趣!是的,我想你是对的,我需要弄清楚这是否是我项目的正确路线。谢谢我喜欢你的建议,即为我们设计S3应用程序,并使用S3兼容的本地对象存储进行开发。在你发布的链接中,我发现这似乎很有用。谢谢谢谢,这是伟大的了解!我特别询问了node.js包装器,但我确实理解这是一个可能的解决方案。我不知道你为什么删除node.js标记。我重新添加了它,这样node.js社区的人可以更容易地找到这篇文章。