11

メイン サイトに障害が発生した場合に、ユーザーが別のコロのフェイルオーバー サイトにシームレスに到達するような、Web アプリケーションのクロスコロ フェイルオーバー戦略に興味があります。

物事のアプリケーション側は、回復して途中で拾うことができるように設計されたコロとサービスの間のマスタースレーブデータベースセットアップでほとんど理解されるようです. メイン サイトからフェールオーバー サイトにトラフィックを移動するための戦略を見つけようとしています。DNS フェイルオーバーは、TTL が低い場合でも、かなりの遅延が発生するようです。

メインコロのサーバーに到達できないと仮定して、コロ間でトラフィックをすばやく移動するためにどのような戦略をお勧めしますか?

クロスコロ フェールオーバーについて他に興味深い経験や知恵の言葉があれば、ぜひ聞かせてください。

4

3 に答える 3

4

ゾーン ファイルに低い TTL を設定したとしても、DNS ベースのメカニズムは厄介です。

これは、多くのアプリケーション (MSIE など) が TTL を無視する独自のキャッシュを保持しているためです。他のソフトウェアは、単一gethostbyname()または同等の呼び出しを行い、プログラムが再起動されるまで結果を保存します。

さらに悪いことに、多くの ISP の再帰 DNS サーバーは、独自の優先最小値を下回る TTL を無視し、独自のより高い TTL を課すことが知られています。

最終的に、IP アドレスを変更せずに両方のデータ センターからサイトを実行する場合は、グローバル BGP4 ルート アナウンスによる「マルチホーミング」の手配を検討する必要があります。

マルチホーミングでは、「プロバイダーに依存しない」(別名「PI」) IP アドレス空間の少なくとも /24 ネットブロックを取得する必要があり、メイン サイトがオフラインになった場合にのみ、バックアップ サイトからグローバル ルーティング テーブルにアナウンスする必要があります。

于 2008-12-30T20:53:54.057 に答える
3

DNS に関しては、 「DNS ベースのグローバル サーバー ロード バランシングが機能しない理由」を参照するのが好きです。それ以外の場合は、BGP を使用してください。

BGP を使用して負荷を分散するためにネットワークを設計することは、まだ簡単な作業ではなく、私自身もこれに関する専門家ではありません。また、ウィキペディアで説明できるよりも複雑ですが、ウェブ上でその方法を詳しく説明している興味深い記事がいくつかあります。

BGP と負荷分散を検索すると、常に多くの情報が見つかります。Akamai がどのようにグローバル ロード バランシングを行っているかを説明しているホワイト ペーパーもネット上にいくつかあります (これは BGP でもあると思います)。

ソフトウェアとハ​​ードウェアを使用して達成できる明白な概念を超えて、ISP/プロバイダー/colo がセットアップできるかどうかを確認することもできます。

また、コロの選択に関して問題はありませんが (プロバイダーは誰ですか?)、ほとんどの場所はダウンタイムなどに対処するように設定されている必要があり、アクションを実行する必要はありません。もちろん、洪水やエイリアンはいつでも襲ってくる可能性がありますが、その場合はもっと重要な問題があると思います. :-)

于 2008-12-30T23:13:35.460 に答える
0

可能であれば、マルチキャスト - http://en.wikipedia.org/wiki/Multicastまたは AnyCast - http://en.wikipedia.org/wiki/Anycast

于 2008-12-30T20:48:00.483 に答える