WebServices使用Oracle WebCache进行负载均衡?

时间:2010-08-13 10:14:49

标签: oracle jboss load-balancing

我在Red Hat Linux 4上使用JBoss 5.1.0.GA。我们在此应用程序服务器上只部署了web服务作为.war文件(仅限servlet,不存在任何有状态应用程序)。作为我们改进可扩展性的架构变更的一部分,我们计划运行多个JBoss服务器(可能在或不在不同的IP和机器上),并在它们前面有一个负载均衡器来分配负载。其中一些我知道推荐使用Oracle WebCache进行负载平衡。

当我开始使用它时,我能够在JBoss主页之间进行负载平衡,即查看http://loadbalancer-hostname:8080/的请求以循环方式为两个服务器提供实际的JBoss主页。

我正在尝试模拟webservices上的外部负载,并开始使用NetBUI的soapUI插件来执行此操作。当我使用loadbalancer-hostname导入WSDL时,它被正确导入,但是当我加载测试它时,请求总是转到同一台服务器。我的假设是:当soapUI导入WSDL时,实际的WSDL文件会有<soap:address location="http://actual-server:8080/...?wsdl">.这可能导致soapUI总是命中同一个服务器。

我的问题是Oracle WebCache是​​否也为webservices执行负载平衡?

1 个答案:

答案 0 :(得分:1)

是的,它可以。 Web服务URL与负载均衡器的任何其他URL类似。

在您的情况下最有可能发生的事情是DNS查找正在Web服务的消费者端的JDK中缓存。

在Java中,一旦查找了DNS,它就会通过%JRE%\ lib \ security中的networkaddress.cache.ttl属性缓存IP地址

请参阅此链接了解更多信息: http://www.rgagnon.com/javadetails/java-0445.html