У нас есть 3 узла запуска серверов в 3 разных фермах серверов, полная репликация, включенное сохранение и базовые узлы всех серверов. Бывает так, что если 2 серверных узла выходят из строя (сбой узла или соединения или медленное соединение), оставшийся также выполняет отключение, возможно, догадываясь, что он отключен от сети. Можно ли сделать так, чтобы уцелевший узел не отключался? Можно ли настроить время ожидания, чтобы избежать отключения от медленных сетей или узлов?
Я не могу найти подсказку в документации. Чтобы избежать этой проблемы, я должен запустить только один серверный узел (чего мы пытались избежать с помощью Ignite...).
Вы можете попробовать настроить StopNodeOrHaltFailureHandler https://stackoverflow.com/questions/tagged/ignite с добавлением SEGMENTATION к ignoredFailureTypes. Но в этом случае, если все 3 узла сегментированы и остались живы, нужно иметь в виду, что кластер может войти в состояние split-brain. Чтобы решить, какой узел следует использовать для операций кеша, вы можете добавить TopologyValidator https://ignite.apache.org/releases/latest/javadoc/org/apache/ignite/configuration/TopologyValidator.html в конфигурацию кеша. И на основе атрибутов узла решить, какой узел разрешен.