文件管理网站的最佳架构是什么?

时间:2015-10-02 08:12:32

标签: asynchronous file-upload concurrency architecture

以下是我认为我的网站应该能够提供给用户的内容。

  1. 能够将文件上传到系统。它不应该阻止,用户应该能够在上传过程中浏览网站的其他页面。上传完成后,用户将收到有关上传的通知。
  2. 用户应该可以在网站上查看他/她上传的文件。
  3. 能够使用第三方API在Web浏览器中编辑文件
  4. 用户数量大约为5000,并且所有用户可能同时上传文件,因此性能不会下降。
  5. 我应该在哪里存储这些文件?如何确保读取和写入此目录中的文件应该处理并发用户请求?
  6. 考虑以上几点。什么应该是建立这个网站的最佳方式?

    是否有任何现有的Web框架与rails,express等类型的架构一起发挥作用?

1 个答案:

答案 0 :(得分:0)

如果您希望能够在文件上传时浏览网站,您可能希望在前端使用覆盖锚标记并异步提取下一页的内容 - 可能有一个库或者其他内容实现这一目标但是使用jQuery很容易实现。

为了使这更容易(以及许多其他原因),您几乎肯定希望使用MVC(模型视图控制器)架构来构建您的站点。 Rails以这种方式构建,几乎任何Web框架都是如此。它听起来不像你所描述的更适合通过PHP或Python等的Rails,所以只需使用你(或你的开发人员)最熟悉的语言或框架。您可能希望对可用的编辑文件插件进行一些研究(它实际上取决于您要编辑的文件类型以及如何)并使用它们来影响您的决策选择哪种语言。

关于在服务器上存储文件,任何逻辑系统都应该足够了。也许:

/username/year/month/day/myFile.txt

您需要做些什么来确保文件名不会发生冲突。显然,您需要一个存储将文件链接到用户的信息的数据库。