【问题标题】:Right approach for communication with file server from web app从 Web 应用程序与文件服务器通信的正确方法
【发布时间】:2020-04-20 10:55:03
【问题描述】:

我们有许多基于 Spring Boot Rest 的用户应用程序(每个都托管在不同的机器上),其中 Angular 作为 UI 的前端。其中一些应用程序需要存储图像、文档和 excel 等文档以及其他用户文件。最初我们计划将文件存储在 DB 中,但在分析需求后我们得出结论,最好将它们保存在单独的机器中。

虽然我确实意识到,但我正在寻找一些正确的方法来做到这一点 这是一个广阔的领域。

  1. 在文件服务器上为多部分创建一个宁静的 Spring Boot 应用程序 请求并让 Angular 应用程序直接调用文件服务器 将文件保存在磁盘上。文件服务器可能需要一个数据库 存储元数据

  2. Angular UI 应用程序调用用户应用程序(多部分 requests) 将对文件服务器进行休息模板调用 springboot 应用程序。

  3. Angular UI 应用程序调用用户应用程序(多部分请求) 并让有不同的文件传输模式,如 sftp 应用服务器和飞行服务器之间。

  4. 让文件服务器上有一个共享驱动器,每个节点都可以 写信给。

所有这些应用都将托管在同一网络上。

【问题讨论】:

  • 确切的问题是什么?
  • 看看 Amazone S3。
  • 我没有提到 S3(谷歌云等),因为我们不是在寻找基于云的解决方案
  • 然后部署兼容的替代方案,例如 Minio、Swift、Ceph 或 NFS
  • 基本上,您正在寻找自托管对象存储,并且有很多可用选项

标签: java fileserver


【解决方案1】:

根据您的要求,您可以创建自己的完整文件存储网络服务器,具有多种功能,例如 - 上传文件、服务文件、列表 文件等。spring.io 有一个完整的基于 spring 的创建此类 Web 服务器的示例。代码可以参考这个 git repo -

https://github.com/spring-guides/gs-uploading-files

Forkadd 随心所欲地使用您自己的功能。 然而大量开箱即用的软件来创建一个Web服务器来公开这些功能,只需搜索http文件服务器然后你会得到很多。

【讨论】:

    猜你喜欢
    • 2017-01-04
    • 1970-01-01
    • 1970-01-01
    • 2011-09-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-24
    • 2016-08-13
    相关资源
    最近更新 更多