您好,我有一个应用程序运行在不同的服务器上,该应用程序在 struts2 中构建并部署在 Tomcat5 中。现在我在此应用程序中具有“全部保存”功能。当调用它时,需要将相同的请求参数传递给所有服务器中运行的所有应用程序的所有 servlet/action。这怎么办?
例如我在局域网中有5台服务器,每台服务器都有独立的tomcat和mysql。该应用程序部署在每个 tomcat 中。现在,如果我从任何服务器上运行的应用程序上传图像,它应该上传到所有服务器。
我会使用类似 Apache HttpClient 库 的东西。但是,请注意:根据您的应用程序,多台服务器中的一台出现故障可能会使事情处于奇怪的状态。如果我是你,我会彻底测试这一点,包括拔掉网络电缆。
解决方案完全在别处。您当然不想想在网络界面级别解决它。您需要在服务器软件级别解决它。应用程序服务器需要在集群环境中运行,所有服务器共享相同的数据。这是 Tomcat 5.5 文档,描述了如何执行此操作:http://tomcat.apache.org/tomcat-5.5-doc/cluster-howto.html
数据库服务器也存在类似的情况,但由于您没有提到是否以及如果是的话您正在使用哪一个,我无法提供详细文档的链接,如何做到这一点。您现在至少知道搜索关键字“集群”。
祝你好运。