Аварийное переключение: для программной ошибки или аппаратного обеспечения или обоих

Я проектирую систему, в которой у меня будут программы, работающие в номинальном / избыточном режиме, одна на одной машине, одна на другой. В случае сбоя Номинальной программы (событие Failover) резервный сервер должен вступить во владение и принять операции как новый Номинальный процесс. Это должно быть прозрачно для пользователя.

Мой вопрос: когда происходит отказоустойчивость, это должно быть только из-за аппаратного сбоя? или программные ошибки являются достаточной причиной для запуска аварийного переключения?

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

1 ответ

С кластерной точки зрения подобные ошибки не имеют никакого значения. Дело в том, что вы не можете полагаться на какие-либо события "Я провалю" от сбойного узла.

Кластер (в вашем случае роль "Избыточный") просто обнаруживает, что узел не отправил сердцебиение (не ответил на пинг). Затем "Избыточный" делает себя "хозяином" и начинает обрабатывать входящие запросы. Вот и все, я думаю.

Другие вопросы по тегам