1

我正在为一些共同工作创建一个网络应用程序。我有带有资产的文本(其中大多数是打印质量的图片,比如 5MB,总共大约每月 5GB)。

我将使用 EC2 实例作为 node.js 服务器和带有附加块存储的 mongodb 在亚马逊的云上托管它。

资产是对象私有的,因此不是每个人都可以访问它。

我应该如何处理资产?将它们保存为数据库中的二进制文件或将它们加载到 S3?(或任何其他亚马逊服务)

有人有这方面的经验吗?或者也许一些有用的链接。提前致谢

4

2 回答 2

1

如果您需要进行访问控制,您可以做很多事情,但最明显的是通过您的 Web 服务器提供断言并让它实现所需的访问控制逻辑。您的应用程序可以通过来自 S3 或 MongoDB GridFS 的源对象进行代理。如果您已经在使用 MongoDB,在这种特殊情况下,我会使用 GridFS,除非您想要 S3 的一些成本节约功能,例如减少冗余存储。

于 2013-02-06T17:03:40.177 回答
1

我可能会在没有公共访问权限的情况下将资产存储在 S3 上,然后您可以在需要时通过从您的网络服务器生成临时签名的 url 来授予授权用户访问权限。通过这种方式,您可以通过将存储脏工作移交给 S3 来利用服务器的复杂性,并且您仍然可以让您的文件仅由有权访问它们的人访问。

于 2013-02-06T18:24:55.753 回答