Клиент веб-службы Java, обрабатывающий отказоустойчивость/кластер сервера веб-службы

Я ищу библиотеку Java, которая могла бы помочь мне вызвать метод веб-службы и обрабатывать несколько веб-серверов, если некоторые из них не отвечают. Идея состоит в том, чтобы включить аварийное переключение, когда кластер серверов предоставляет один и тот же веб-сервис.

Какой-то сценарий:

  • клиент вызывает метод A на сервере 1
  • сервер 1 не работает
  • автоматически попробовать сервер 2
  • ...

Есть ли такая библиотека?

Вы спрашиваете только о стороне клиента, когда разработчик приложения пытается получить доступ к различным серверам веб-сервисов? Или вы имеете в виду, что обработка отказа на стороне сервера должна выполняться системным администратором? Ваш вопрос, кажется, упоминает оба.
Мой вопрос касается только клиентской стороны. Забыл упомянуть, что он использует клиент jax-ws.
Вы должны отредактировать свой вопрос с дополнительной информацией, а не публиковать в виде комментариев. Используйте эту ссылку «редактировать» под вашим вопросом (если вы используете веб-браузер, а не приложение).

Ответы (1)

Библиотеки HTTP-клиентов

Обычно мы выполняем такие последовательные вызовы URL-адресов непосредственно в нашем собственном коде, используя клиентские библиотеки HTTP для помощи.

Клиентские библиотеки HTTP, такие как Apache HttpComponents Google HTTP Client Library и jsoup , позволяют вам устанавливать время ожидания и выдают исключения при возникновении различных проблем, таких как ошибка 404 .

Таким образом, вы пишете серию каскадных ifоператоров, последовательно пробуя каждый целевой URL-адрес, пока не добьетесь успеха. Настройка этих URL-адресов, тайм-аутов и обработки исключений требует примерно того же кода, что и настройка какой-либо библиотеки.

Я забыл упомянуть, что myclient является клиентом jax-ws и, следовательно, предпочел бы не переопределять эту логику в разных местах.