Qui*_*ike 9 file-io file-upload mongoose mongodb node.js
我正在创建一个mongodb/nodejs博客系统(类似于wordpress).
我目前将图像保存在磁盘上,指针放在mongo中.我想知道,因为我将所有会话存储在MongoDB中以实现跨服务器的轻松负载平衡,将实际文件存储在Mongo中也是一个聪明的想法,可以轻松实现多服务器设置和/或性能提升.
如果所有内容都存储在数据库中,您可以简单地生成更多Web服务器和/或mongo复制以进行水平扩展
意见?
ale*_*lex 10
MongoDB是存储文件的好选择(我说的是GridFS),特别是对于上面描述的用例.当您将文件存储到MongoDB(GridFS,而不是文档)时,您可以免费获得所有复制和分片功能,这非常棒.
如果你必须生成一个新的服务器并且已经将文件放入MongoDB,那么你所要做的就是启用复制(因此水平扩展).我相信这可以为你节省很多麻烦.
资源:
GridFS是否足够快速可靠地进行生产?
http://www.mongodb.org/display/DOCS/GridFS
http://www.coffeepowered.net/2010/02/17/serving-files-out-of-gridfs/
除了 GridFS,您可能正在考虑基于云的部署。在这种情况下,您可能会考虑将文件存储在特定于云的存储中(例如,Windows Azure 具有 Blob 存储)。在本示例中坚持使用 Windows Azure(因为这是我使用的),您将通过其存储帐户 URI 来引用文件。例如:
https://mystorageacct.blob.core.windows.net/mycontainer/myvideo.wmv
Run Code Online (Sandbox Code Playgroud)
由于您将 MongoDB 数据库本身存储在其自己的 blob 中(并作为磁盘卷挂载在 Linux 或 Windows VM 上),因此您可以选择将文件存储在相同的存储帐户或完全不同的存储帐户中(使用每个存储帐户提供100TB 200TB 的存储空间)。
| 归档时间: |
|
| 查看次数: |
9499 次 |
| 最近记录: |