У меня возникла ситуация, когда мне нужно поддерживать липкость сеанса в случае сбоя узла.
Конфигурация:
- три узла (as1, as2, as3), на которых работает наше корпоративное приложение на JBoss 4.2.3 (однородный кластер)
- HAProxy делает roundrobin (один TCP-сервер и один Tomcat) для каждого узла
- реплицированные сеансы tomcat (для единого входа при отказе)
- разрешены сеансы флешки (директива appsession)
Моя проблема заключается в том, что когда я отключаю один из узлов (то есть as3), привязка сеанса немедленно прекращается: сеанс переходит на другой ресурс без повторной аутентификации (общие сеансы Tomcat), но теперь каждый запрос обрабатывается с разных серверов (as1). as2 as1 as2 as1 as2 ...).
Как я могу убедиться, что отказавший запрос о сбое будет привязан к первому доступному серверу при восстановлении после сбоя?