Java Web 应用程序图像传输



使用 Tomcat 或 JBoss,如何在不编写客户端/服务器应用程序的情况下将动态图像内容从一台服务器上的映像存储库传输并保存到同一网络上的多个其他服务器(机器(?
我正在构建的网站包含大量图像,这些图像只能在一台计算机上保存和共享。 所有 Web 应用服务器都需要能够访问这些文件。

Kermit Love,这里有一些根据您的要求的建议。请注意,这些都不是基于Java的,也不是特定于Tomcat/JBoss的。

选项 1:使用 NAS 或共享目录

使用特定的硬件 (NAS(、文件服务器 (Samba( 或网络上的简单共享目录将允许所有计算机通过网络访问内容。

优点

  • 此解决方案可以扩展
  • 设置简单

缺点

  • 网络开销可能会减慢您的全球解决方案的速度,具体取决于您的需求(访问频率、图像大小等(
  • 无高可用性(容错(

选项 2 : 使用专用于负载平衡/反向代理/提供文件的前端服务器

您可以使用简单的 Nginx/Apache 服务器来交付"静态"内容,同时将 trafic 路由到您的应用程序服务器。

优点:

  • 客户提供图像的有效方式。
  • 您将关注点分开(业务逻辑与提供文件(。

缺点:没有高可用性(容错(

选项 3:使用rsync同步文件系统

您可以定义一个基于cron的规则,每 N 秒/分钟运行一次 rsync 命令,以确保所有计算机都有可用的数据。

优点:

  • 易于设置
  • 免费(暂时不需要额外的硬件(
  • (略微(比选项 1 (无重复网络开销(的长期性能更好。

缺点:

  • 然而一个额外的过程
  • 无法水平缩放
  • 文件无法立即访问

最新更新