Java Web 应用程序图像传输
Java Web Application Image Transfer
使用Tomcat或JBoss,如何在不编写Client/Server申请?
我正在构建的网站包含大量图像,这些图像只能在一台机器上保存和共享。所有 Web 应用程序服务器都需要能够访问这些文件。
Kermit Love,根据您的要求,这里有一些建议。请注意,其中 none 是基于 Java 的,也不特定于 Tomcat / JBoss.
选项 1:使用 NAS 或共享目录
使用特定硬件 (NAS)、文件服务器 (Samba) 或网络上的简单共享目录将允许您所有的机器通过网络访问内容。
优点:
- 此解决方案可以扩展
- 设置简单
缺点:
- 网络开销可能会降低您的全局解决方案的速度,具体取决于您的需要(访问频率、图像大小……)
- 无高可用性(容错)
选项 2:使用专用于负载平衡/反向代理/服务文件的前期服务器
您可以使用简单的 Nginx/Apache 服务器来传送 "static" 内容,同时将流量路由到您的应用程序服务器。
优点:
- 向客户提供图像的高效方式。
- 您将关注点分开(业务逻辑与服务文件)。
缺点:没有高可用性(容错)
选项 3:使用 rsync
同步文件系统
您可以定义一个基于 cron
的规则来 运行 每 N seconds/minutes 一个 rsync 命令,以确保您所有的机器都有可用的数据。
优点:
- 易于设置
- 免费(暂时不需要额外的硬件)
- (略)长期性能优于选项 1(无重复网络开销)。
缺点:
- 还有一个额外的进程
- 不水平缩放
- 无法立即访问文件
使用Tomcat或JBoss,如何在不编写Client/Server申请?
我正在构建的网站包含大量图像,这些图像只能在一台机器上保存和共享。所有 Web 应用程序服务器都需要能够访问这些文件。
Kermit Love,根据您的要求,这里有一些建议。请注意,其中 none 是基于 Java 的,也不特定于 Tomcat / JBoss.
选项 1:使用 NAS 或共享目录
使用特定硬件 (NAS)、文件服务器 (Samba) 或网络上的简单共享目录将允许您所有的机器通过网络访问内容。
优点:
- 此解决方案可以扩展
- 设置简单
缺点:
- 网络开销可能会降低您的全局解决方案的速度,具体取决于您的需要(访问频率、图像大小……)
- 无高可用性(容错)
选项 2:使用专用于负载平衡/反向代理/服务文件的前期服务器
您可以使用简单的 Nginx/Apache 服务器来传送 "static" 内容,同时将流量路由到您的应用程序服务器。
优点:
- 向客户提供图像的高效方式。
- 您将关注点分开(业务逻辑与服务文件)。
缺点:没有高可用性(容错)
选项 3:使用 rsync
同步文件系统
您可以定义一个基于 cron
的规则来 运行 每 N seconds/minutes 一个 rsync 命令,以确保您所有的机器都有可用的数据。
优点:
- 易于设置
- 免费(暂时不需要额外的硬件)
- (略)长期性能优于选项 1(无重复网络开销)。
缺点:
- 还有一个额外的进程
- 不水平缩放
- 无法立即访问文件