向两台服务器提交GET请求

时间:2012-08-31 18:04:09

标签: java jquery jsp

我有一个带有两台服务器的生产环境。我有一个用户提交数据的页面,然后单击“保存”,数据库将使用提交的信息进行更新。发生这种情况后,我需要向两台服务器发送GET请求。这些请求基本上运行方法来获取已更新的数据,并将其保存到内存中。我一直在使用jQuery来调用这样的URL:

$.ajax({<br />
    type : "GET",<br />
    url : 'http://IP_ADDRESS1/contextRoot1/servlet1?param=value&param2=value2'<br />
});

$.ajax({<br />
    type : "GET",<br />
    url : 'http://IP_ADDRESS1/contextRoot2/servlet1?param=value&param2=value2'<br />
});

$.ajax({<br />
    type : "GET",<br />
    url : 'http://IP_ADDRESS1/contextRoot3/servlet1?param=value&param2=value2'<br />
});

$.ajax({<br />
    type : "GET",<br />
    url : 'http://IP_ADDRESS2/contextRoot1/servlet1?param=value&param2=value2'<br />
});

$.ajax({<br />
    type : "GET",<br />
    url : 'http://IP_ADDRESS2/contextRoot2/servlet1?param=value&param2=value2'<br />
});

$.ajax({<br />
    type : "GET",<br />
    url : 'http://IP_ADDRESS2/contextRoot3/servlet1?param=value&param2=value2'<br />
});

我需要使用机器的IP地址,因为我有一个负载均衡器,它转发到当他收到域请求时机器最少使用的请求。我也很确定jQuery不会做6个ajax请求。我也遇到了jQuery和跨域约束的问题。我尝试使用jQuery-xdomain-ajax.js,但它是一块垃圾(它对我不起作用)。我有一个解决方案,但我只是想知道是否有更好的解决方案。我现在的解决方案是打开一个弹出窗口,并将其他三个ajax请求提交给另一个服务器。我不能经常调用请求的外部进程。

两个应用服务器是JBoss,其Web服务器是Apache 一个数据库服务器是MySQL 操作系统是应用服务器和数据库服务器上的Linux

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

如果你需要在内存存储中放入一些数据,你应该使用Infinispan将JBoss的分布式缓存包作为7。

在本文档中,您可以找到如何创建容器以及如何通过注入访问Inifinspan缓存。

通过使用Inifinspan,每个JBoss节点都可以访问相同的共享缓存,您将获得可扩展且高度可用的解决方案。