Как автоматически переключаться на другой веб-сервис?

У меня есть готовое стороннее приложение для Windows, которое должно подключаться к веб-службе (IP-адрес или URL), установленной на другом сервере (фактически работающем в Windows 7 Professional).

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

Есть ли способ для меня реализовать это без реализации кластеризации (аппаратное обеспечение или Windows NLB)?

Обновление: обратите внимание - я не хочу реализовывать балансировщик нагрузки на стороне сервера.

3 ответа

Решение

Вы могли бы реализовать reverse proxy на client который затем подключается к вашему backend servers, Это должно быть в состоянии перенаправить на рабочий сервер, когда один выходит из строя.

Конечно, Windows NLB и hardware loadbalancers (например, http://www.loadbalancer.org/) предназначены для этой работы.

Существуют бесплатные альтернативы, в основном использующие Linux/Unix, которые вы можете найти там.

Есть ли способ для меня реализовать это без реализации кластеризации

Нет, и ваш вопрос снят, потому что он хочет сказать: "Мне нужно сменить резину на Мерседес". Это машина. Аварийное переключение веб-службы не является чем-то особенным, мы говорим здесь о TCP-соединениях.

Проблема заключается в том, что для аварийного переключения машина, реагирующая на определенный IP-адрес, должна измениться - без изменения IP-адреса (поскольку поиск DNS, который может вызвать его, кэшируется, если что-то происходит на клиентском компьютере, и аварийное переключение должно происходить быстро, поэтому кеш мешает).

Итак, вам нужно какое-то решение для кластеризации. Это присуще проблеме. Что ВСЕГДА программное обеспечение - НИКОГДА не аппаратное обеспечение, не существует оборудования, которое делает это. Видишь, устройства, которые ты покупаешь, тоже запускают софт;)

NLB идеально подходит для этого. "Кластер" машин имеет специальный IP-адрес, который все они реагируют на эти сервисы веб-службы, и у них есть достойный механизм отработки отказа.

Извините, никак не обойтись. Существует аварийное переключение с "бедного человека" (обновления DNS), но, как я уже сказал, у него есть проблемы с синхронизацией и с кэшем на стороне клиента.

Другие вопросы по тегам