我正在开发一个应用程序,使用JAVA EE 6,更具体地说,Glassfish v3.1.2.2。JAVA EE 6集群和webapp图像
之前,我习惯把用户uploded图像和文件在我的数据库。如果我想通过添加节点将我的体系结构集群化,这将使它更容易。
现在,我真的想停止这样做,只是我上传的文件保存到我的资源文件夹(原因是多方面的such as this),这样一个简单的<img>
或<h:graphicImage>
一个名字就可以了。
我的问题是怎么做,当我添加其他的服务器这项工作?该文件将只保存到处理该请求的服务器资源文件夹中,其他服务器不会拥有它。
现在也许有人会建议使用分布式文件系统,你在哪里租你的应用程序一些托管/云服务这听起来除了在大的情况下,你不能真正选择自己的文件系统。 (可能有其他原因阻止您转到此设置)
是否JAVA EE提供了透明地同步资源文件夹的方法? JSF已经可以处理它的版本控制和管理库等任何机会,我可以设置一些配置,这样我的所有服务器都可以通过任何文件更改/上传保持资源文件夹的最新状态?
如果不是,有什么替代方案?
我还没有跟团的工作我自己,但是从我读可能是最好的选择是在一个专用的服务器(通常是Apache的,因为它被认为是快) – SJuan76 2013-03-09 23:35:33
你有一个云服务的一个例子,设置静态资源让你运行你的应用程序集群,但是没有任何实际的节点间通信方式?这听起来像是有些武断的限制。 (另外,我认为一个流行的 - 如果可能是不必要的昂贵 - 解决方案就是将它们放到S3或其他类型的CDN上,这些CDN应该提供某种API来上传新文件。) – millimoose 2013-03-09 23:55:56
作为毫无保留的状态,我也会选择对于像Amazon S3这样的[Content Delivery Network](http://en.wikipedia.org/wiki/Content_delivery_network)解决方案(免责声明:我不以任何方式与亚马逊合作)。 – 2013-03-10 00:36:42