我有一个带有两台服务器的生产环境。我有一个用户提交数据的页面,然后单击保存,数据库将使用提交的信息进行更新。发生这种情况后,我需要向两台服务器发送一个 GET 请求。这些请求基本上运行方法来获取更新的数据,并将其保存到内存中。我一直在使用 jQuery 来调用这样的 URL:
$.ajax({<br />
type : "GET",<br />
url : 'http://IP_ADDRESS1/contextRoot1/servlet1?param=value¶m2=value2'<br />
});
$.ajax({<br />
type : "GET",<br />
url : 'http://IP_ADDRESS1/contextRoot2/servlet1?param=value¶m2=value2'<br />
});
$.ajax({<br />
type : "GET",<br />
url : 'http://IP_ADDRESS1/contextRoot3/servlet1?param=value¶m2=value2'<br />
});
$.ajax({<br />
type : "GET",<br />
url : 'http://IP_ADDRESS2/contextRoot1/servlet1?param=value¶m2=value2'<br />
});
$.ajax({<br />
type : "GET",<br />
url : 'http://IP_ADDRESS2/contextRoot2/servlet1?param=value¶m2=value2'<br />
});
$.ajax({<br />
type : "GET",<br />
url : 'http://IP_ADDRESS2/contextRoot3/servlet1?param=value¶m2=value2'<br />
});
我需要使用机器的 IP 地址,因为我有一个负载均衡器,当他收到对域的请求时,它会将请求转发到使用最少的机器。我也很确定 jQuery 不会执行 6 个 ajax 请求。我也遇到了 jQuery 和跨域约束的问题。我尝试使用 jQuery-xdomain-ajax.js,但它是一块垃圾(它对我不起作用)。我有一个解决方案,但我只是想知道是否有更好的解决方案。我现在的解决方案是打开一个弹出窗口,并将其他三个 ajax 请求提交到另一台服务器。我不能让外部进程每隔一段时间调用一次请求。
两台应用服务器是 JBoss,Web 服务器是 Apache
一台数据库服务器是 MySQL
操作系统是应用服务器和数据库服务器上的 linux
任何帮助将不胜感激。