Обнаружение сбоя узла кластера Jboss AS 7.1.1-Final

Я настроил 2 кластера узлов в Jboss AS 7.1.1-Final. Я планирую использовать липкие сессии. Тем временем я также записываю количество активных онлайн-пользователей в кэш Infinispan с IP-адресом узла, с которого был создан этот сеанс пользователя, для целей отчетности.

Я позаботился о сценариях входа/выхода из системы, где я очищал наши записи в кеше. Проблема в том, что если один из серверных узлов выходит из строя, мне нужно написать процедуру очистки, чтобы также удалить такие записи этого узла из кеша.

Один из вариантов — написать клиент и через определенные промежутки времени проверять, жив ли сервер, в противном случае запустить процедуру очистки. Этот подход будет работать, но я ищу более чистый подход, если бы я мог обнаружить сбой узла сервера, о котором уведомляются другие действующие узлы, тогда я мог бы выполнить очистку.

Из консоли я знаю, что он показывает, когда сервер выходит из строя или поднимается. Но что бы было этому листернеру слушать такие события. Какие-нибудь мысли?


person Manish Devraj    schedule 05.02.2013    source источник


Ответы (1)


Если вам просто нужно знать, когда узел покидает какой-либо серверный модуль (внутри сервера JBoss), вы можете использовать Прослушиватель ViewChanged

Вы не можете получить эту информацию о клиентах, подключенных через протоколы REST или memcached — с протоколом HotRod это выполнимо, но довольно хакерски, вам придется переопределить TransportFactory.updateServers (вероятно, просто расширить TcpTransportFactory - см. свойство конфигурации infinispan.client.hotrod.transport_factory)

person Radim Vansa    schedule 06.02.2013
comment
Спасибо, я пробую это, чтобы подтвердить, соответствует ли оно моему требованию. - person Manish Devraj; 08.02.2013