Балансировка нагрузки WebServices с использованием Oracle WebCache? - PullRequest
0 голосов
/ 13 августа 2010

Я использую JBoss 5.1.0.GA в Red Hat Linux 4. У нас есть только веб-сервисы, развернутые на этом сервере приложений в виде файлов .war (только сервлеты, без приложений с сохранением состояния).В рамках изменения нашей архитектуры для улучшения масштабируемости мы планируем запустить несколько серверов JBoss (могут быть, а могут и не быть на разных IP-адресах и компьютерах) и иметь балансировщик нагрузки перед ними для распределения нагрузки.Некоторые из тех, кого я знаю, рекомендовали Oracle WebCache для балансировки нагрузки.

Когда я начал его использовать, я могу загрузить баланс между домашней страницей JBoss, то есть запросы на просмотр http://loadbalancer -хоста: 8080 / выводит реальный JBossстраницы для обоих серверов в циклическом порядке.

Я пытаюсь смоделировать внешнюю нагрузку на веб-сервисы и начал использовать плагин soapUI для NetBeans, чтобы сделать это.Когда я импортирую WSDL с помощью loadbalancer-hostname, он импортируется нормально, но когда я загружаю тестирую его, запросы всегда отправляются на один и тот же сервер.Мое предположение таково: когда soapUI импортировал WSDL, сам файл WSDL будет иметь <soap:address location="http://actual-server:8080/...?wsdl">.. Возможно, это приводит к тому, что soapUI всегда попадает на один и тот же сервер.

Мой вопрос: Oracle WebCache также выполняет балансировку нагрузки для веб-сервисов?

1 Ответ

1 голос
/ 20 августа 2010

Да, может.URL-адрес веб-службы аналогичен любому другому URL-адресу балансировщика нагрузки.

В вашем случае наиболее вероятно то, что поиск DNS кэшируется в JDK на стороне потребителя веб-службы.

В Java при поиске DNS он кэширует IP-адрес с помощью свойства networkaddress.cache.ttl в% JRE% \ lib \ security

Для получения дополнительной информации см. Эту ссылку: http://www.rgagnon.com/javadetails/java-0445.html

...