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

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

是否有任何常规方法可以解决此类问题?还是应该通过后端数据库重新设计上传系统?

最佳答案

有什么理由不能拥有共享的NFS驱动器并在那里上传图像?当然,假设没有命名冲突。

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

10-09 05:38
查看更多