我正在为一些合作创建一个网络应用程序。我有资产文本(大多数图片的打印质量,比如说5MB,总共大约每月5GB)。
我将在亚马逊的云上使用EC2实例为node.js服务器和带有附加块存储的mongodb托管这个。
资产是对象的私有资源,因此不是每个人都可以访问它。
我该如何处理资产?将它们保存为数据库中的二进制文件或将它们加载到S3? (或任何其他亚马逊服务)
有人有这方面的经验吗?或者也许一些有用的链接。提前致谢
答案 0 :(得分:1)
如果您需要进行访问控制,那么您可以做很多事情,但最明显的是通过Web服务器为断言服务并让它实现所需的访问控制逻辑。您的应用可以通过S3或MongoDB GridFS中的源对象进行代理。如果你已经在使用MongoDB,在这种特殊情况下我会使用GridFS,除非你想要一些S3的节省成本的功能,比如减少冗余存储。
答案 1 :(得分:1)
我可能会在没有公共访问权限的情况下将资产存储在S3上,然后您可以通过在需要时从Web服务器生成临时签名的URL来授予对授权用户的访问权限。 通过这种方式,您可以通过将存储脏工作交给S3来利用服务器的复杂性,并且您仍然可以只有谁有权访问您的文件。