静态资源不一致的tomcat集群

标签 tomcat cluster-computing

假设有一个 java webapp 让用户上传图像文件,它只是将这些图像存储在 tomcat 服务器的文件系统中,并在进一步请求时将它们作为静态资源提供。现在这个应用程序需要扩展并部署在一个大型的 tomcat 服务器集群中,该集群位于一个 apache 服务器后面,使用 mod_jk 作为负载平衡器。

由于上传的图像位于文件系统中,因此除了发生上传事件的那台服务器之外,它们在其余的 tomcat 服务器上将不可用。如果一个用户进来,上传了一张图片,过了一会儿再次请求该图片,由于循环负载平衡策略,他的请求可能不幸地被路由到另一台服务器,所以他将看不到他的图片!

有没有传统的方法来处理这类问题?还是应该利用后端数据库重新设计上传系统?

最佳答案

您有什么理由不能共享 NFS 驱动器并将图像上传到那里?当然,假设不会发生命名冲突。

关于静态资源不一致的tomcat集群,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4468439/

相关文章:

java - 集群环境下的Atmosphere框架

php - nginx - php-fpm 集群

c# - 变量 "cluster"用于计算 C# 中的阶乘

tomcat - 生命周期异常 : No UserDatabase component found under key

java - tomcat中定义的数据源的auth属性的意义是什么

Tomcat 新手 - 新安装时出现 IllegalStateException

windows - ColdFusion 9 集群与 IIS7.5

javascript - 标记簇 - 传单 - 无法正常工作

javascript - Tomcat 8.0.30 + Spring Web 应用程序 - 解析 HTTP 请求 header 时出错

java - 尝试在 Tomcat 7 服务器上通过 Gradle 和 Jenkins 部署 Spring App 时出现 HTTP 401 错误