NetScaler повторить попытку следующего сервера, если произошел сбой
У меня есть 8 серверов, которые сбалансированы нагрузкой NetScaler VPX (10). Как настроить балансировщик нагрузки NetScaler для повторной отправки запроса на следующий сервер, если предыдущий сервер ответил со статусом 502?
1 ответ
Все зависит от вашей конфигурации. Однако во всех случаях не само устройство NetScaler будет повторять попытку следующего сервера. Вам необходимо создать конструкцию в своей конфигурации, чтобы, когда внутренний сервер возвращал HTTP 502, ответ клиенту переписывался, чтобы клиент повторил запрос. Новый запрос, который поступает в NetScaler, должен быть идентифицирован в этой точке, чтобы вы могли принудительно использовать внутренний сервер для этого запроса.
Один из вариантов - настроить членов вашей группы серверов с идентификатором сервера и использовать этот идентификатор сервера для выполнения явной балансировки нагрузки. Первоначальный ошибочный ответ должен затем вернуть cookie, содержащий идентификатор сервера.
Если файл cookie присутствует во втором запросе и содержит действительный идентификатор сервера, будет использован этот внутренний сервер.
Короче говоря, вы должны использовать следующие компоненты на NetScaler:
- Переключение контента (есть ли в запросе cookie с идентификатором сервера или нет)
- Балансировка нагрузки с определениями идентификатора сервера для каждой привязки группы услуг
- Перепишите ответ исходного запроса.
Если ваше приложение не поддерживает перенаправления, вам не повезло, поскольку NetScaler не может повторить исходный запрос на основе исходного ответа от первого сервера.
Ура, янв
Вы можете использовать политику HTTP Call-out по этой ссылке