フェイルオーバー
主系の部品が故障したとき、自動的に予備へ切り替える仕組み。高可用性システムの定番で、レプリケーションと監視と切り替え機構の三つが要る。
方式は大きく二つある。アクティブ・パッシブ(待機系が故障時に引き継ぐ)と、アクティブ・アクティブ(両方が同時に処理し、ロードバランサーが振り分ける)だ。古典的なのはデータベースのフェイルオーバーで、PostgreSQLのストリーミングレプリケーション、MySQLグループレプリケーション、Redis Sentinelなどがある。DNSによる切り替えはTTLのせいで遅く、BGPなら数秒で済むがマルチホームの回線が前提になる。注意すべきはスプリットブレイン(両方のノードが自分を主系だと思い込む状態)と、切り戻しの時間帯だ。定番の対策はクォーラムとSTONITH(「相手ノードの頭を撃て」の略)である。