0

公称/冗長モードでプログラムを実行するシステムを設計しています。1 つのマシンに 1 つ、別のマシンに 1 つ。Nominal プログラムが失敗した場合 (Failover イベント)、Redundant が引き継ぎ、新しい Nominal プロセスとして操作を引き継ぐ必要があります。これは、ユーザーに対して透過的である必要があります。

私の質問は次のとおりです。フェールオーバーが発生した場合、これはハードウェア障害のみが原因でしょうか? または、フェールオーバーをトリガーするのに十分なソフトウェア エラーですか?

より一般的には、フェールオーバーの原因を決定するための業界標準はありますか、それともシステム アーキテクト/デザイナー次第ですか?

4

1 に答える 1

1

クラスターの観点からは、これらの種類のエラーは何の違いもありません。問題は、失敗したノードからの「失敗しています」というイベントに依存できないことです。

クラスター(あなたの場合は「冗長」ロール)は、ノードがハートビートを送信しなかった(pingに応答しなかった)ことを発見しただけです。次に、「冗長」が「マスター」になり、着信要求の処理を開始します。それだけだと思います。

于 2013-06-24T19:36:18.573 に答える