2010-08-13 92 views
0

我在Red Hat Linux 4上使用JBoss 5.1.0.GA。我們在這個應用程序服務器上僅部署了web服務作爲.war文件(僅適用於servlet,不存在有狀態的應用程序)。作爲我們爲提高可伸縮性而進行體系結構變更的一部分,我們計劃運行多個JBoss服務器(可能或不可能位於不同的IP和機器上),並在它們前面有一個負載平衡器來分配負載。其中一些我知道的推薦使用Oracle WebCache進行負載均衡。Web服務使用Oracle WebCache進行負載均衡?

當我開始使用它時,我可以在JBoss主頁之間進行負載平衡,即請求查看http://loadbalancer-hostname:8080/以循環方式爲這兩個服務器調出實際的JBoss主頁。

我想模擬webservices上的外部負載,並開始使用soapUI插件來爲NetBeans做到這一點。當我使用loadbalancer-hostname導入WSDL時,它的導入正常,但是當我加載測試它時,請求總是進入同一臺服務器。我的假設是:當soapUI導入WSDL時,實際的WSDL文件將會有它的<soap:address location="http://actual-server:8080/...?wsdl">.可能是這導致soapUI總是碰到同一個服務器。

我的問題是Oracle WebCache爲web服務執行負載平衡嗎?

回答

1

是的,它可以。 Web服務URL與負載均衡器的任何其他URL相似。

您的情況最有可能發生的情況是DNS查找在Web服務的客戶端的JDK中緩存。 http://www.rgagnon.com/javadetails/java-0445.html

+0

感謝JoseK:

在Java中,一旦DNS的查找,它通過networkaddress.cache.ttl財產%JRE%\ lib \ security中

請參閱此鏈接更多的緩存的IP地址。我正在瀏覽你提供的鏈接。此外,不是作爲這個問題的答案,我們發現使用其他負載測試客戶端(除了soapUI插件),我們可以編輯目標URL並將其指向安裝Oracle WebCache的服務器。現在我們能夠平衡兩臺服務器之間的負載。 – 2010-08-26 14:32:44