Обрабатывать сбой при высокой доступности?

#java #tomcat #load-balancing #high-availability

#java #tomcat #балансировка нагрузки #высокая доступность

Вопрос:

Пожалуйста, рассмотрите приведенный ниже сценарий.

Я реализовал балансировщик нагрузки apache с использованием mod jk. За балансировщиком нагрузки apache стоят три tomcat. Все они находятся на разных машинах. Допустим, tomcat-1 обслуживает запрос, и перед завершением запроса он отключается из-за какой-то проблемы.Поскольку кластеризация Tomcat настроена, два других tomcat будут обрабатывать дальнейшие запросы. Но как обработать этот неудачный запрос, который уже был принят tomcat-1. Есть ли какое-либо решение?

Ответ №1:

Чтобы ваш прокси-сервер повторил ваш запрос на другом узле после сбоя, mod jk должен был бы знать, что запрос был idemopotent.

Я вижу, что добавление этого знания idemoptency обсуждалось давным-давно. https://bz.apache.org/bugzilla/show_bug.cgi?id=39692

Я сомневаюсь, что они реализовали эту функциональность.

Я видел, как другие решения с обратным прокси-сервером реализуют идентификатор идемпотентности. Кажется, я помню, что у Weblogic есть такая возможность. Я также видел это с некоторыми аппаратными прокси.

Комментарии:

1. Спасибо за ваш ценный отзыв.