私のウェブサイトのための3つのサーバーがある場合は、ユーザーの地理的な場所を正しい場所に指示するのでしょうか。
メインサーバーはオーストラリアにありますが、コンテンツはUSサーバーに同期されています。英国の誰かが米国のサーバーへの私のping時間は100ms未満ですが、オーストラリアは300~600msです。
正しいサーバーへのトラフィックを指示するための私のオプションは何ですか?
Googeはどうやってやるのですか?
最善の方法IMHOはバインドを再コンパイルすることです geodns patch
その後、ビューでクライアントを制御できます。
"North_America" {
match-clients { country_US; country_CA; country_MX; };
zone "example555.com" {type master;file "pri/example555-north-america";};
_
Googleは「Anycast」というテクノロジを使用してそれを行います。彼らは世界中に配置されている複数のマシンに割り当てられた同じIPを使用します。 Long Story Short、BGPシステムによると最も安価で、しばしば最短経路が使用されます。
通常、1つのIPへの複数のパスがマルチホームのときにエクスポートされます...複数のISPがネットワークに入ってくるので、そこに着くための複数の方法があります。あなたは最も安い/最速の道を取ります。アニーキャストと同じように、すべてが同じように同じ機械への道の代わりに肉体的に異なるマシンにつながります。エンドユーザーにとっては、それらがそれらのいずれかから得るコンテンツが同じになるためです。
このトリックはBGP IDを持ち、少なくとも他のものに使用できないアドレスの少なくともA/24ブロックのアドレスを持ち、おそらくそれらの解決策を使用しません。あなたは、Akamai Technologiesを介して静的コンテンツのためにこれを契約することができます。プロバイダがそのように動的コンテンツを処理するかどうかわかりません。
MaxMindのGeoIPなどのサービスも使用できます。それは最も費用対効果が高いかもしれませんが、IPデータとのチェックに基づいてあなたのユーザーをリダイレクトするためにいくつかの前に求められている必要があります。彼らは無料のデータベースを提供し、そして国レベルの方向性を提供することに注意してください。 DNSの返信を使用して、リダイレクトの代わりに人々を指示するために、Disermanのバインドパッチのアイデアも大丈夫です。これは、いくつかの非常に技術的なユーザーを混乱させることができ、あるいは異なるホストが同じ名前が異なる場所を指していると思う奇妙な問題をデバッグすることができます。
後者のアプローチは働き、実際には多くのサーバーによって使用されますが、これはこの問題を解決し、また事業の継続性を助けるので、世界的な負荷分散を考慮することもできます。
Webサイトが3つのサーバーによって同じように処理されている場合は、それを透明にしてリダイレクトしないでください。異なるドメインに同一のコンテンツを持つことは理にかなっていません。
また、いずれかのサーバーが失敗した場合、それに使用されるテクニックはあなたが失敗することを可能にします。
私は2番目のオプションを宣伝し、GeoIPルックアップと結合して最も近いサーバーにリダイレクトします。