注:私は、応答内のすべての技術をリンクするのに十分な評判を持っていないので、時にはあなたはプレーンテキストでコピーしたリンクが表示されます。
1)レイテンシが最も低いローカルサーバーにユーザーを割り当てることは、必ずしも可能ではありません。
ユーザーに地理的に最も近いサーバーが、予期せず最も待ち時間の長いサーバーになることがあります。
(実行中の)サーバーとユーザー間の待ち時間を最小限に抑えることは簡単ではありません。 クライアントとサーバーの間にはさまざまなホップ(ルーター)が存在する可能性があり、いつでも問題、ルート更新、パケット輻輳などが発生する可能性があります。 遅延を評価する最も簡単な方法はpingですが、ファイアウォールがこれをブロックしている可能性があります。
だから、これを達成するための最良の方法は、anycast
すべての主要なCDNプロバイダは、このメソッドを実装して使用することです。いくつかは、推奨されていないと思われるTCPエニキャストと、他のUDPエニーキャストを使用するものがあります。それはオープンな議論です。
とにかく、エニーキャストを実装するためには、ISPルーターとピアリングできる必要があります。通常、これは不可能です。さらに、良いピアと悪いピアがあります。 最後に、ルーティングプロトコルとTCP/IPスタックに関する深い知識が必要です。
GEO-IPパッチでBINDを使用すると、すばやく簡単な解決策が得られる可能性があります。 したがって、国ごとに特定のDNSクエリー応答を定義できます。 たとえば、英国と米国のサーバーがある場合、ヨーロッパから来るユーザーに応答してBINDを構成して、英国のサーバーと米国のユーザーが米国のサーバーにアクセスするように構成できます。
2)特定のクライアントを特定のサーバーに割り当てるには、ポイント1で説明した手法を使用するか、プロキシおよびスティッキセッションを使用できます。 これを実現するには、HAプロキシが優れた製品です。 (URL:xy.1wt.eu)
3)ポイント1を使用すると、クロスドメインajax呼び出しで問題は発生しません。実際、それはクライアントにとって完全に透明です。たとえば、同じドメインexample.comの場合、米国から来るユーザーは1.1.1.1に解決しますが、ドイツから来るユーザーはexample.comを2.2.2.2に解決します(IPアドレスは偽装され、例として使用されます)。
クロスドメインのajax呼び出しを行うソリューションは、POSTのサポートの欠如のようないくつかの欠点があるJSON-Pです。私があなただったら、それは一度に3つのすべての問題を解決するため
私は、BINDとGEO-IPとなるだろう。地理的に最も近いサーバーが待ち時間の最も短いサーバーであるとは必ずしも言えないため、レイテンシの一部です。
一般的なシナリオを説明するユースケースや詳細を追加すると役立ちます。ポップアップする最初の事は多分最初のネゴシエーションあたりの特定のサーバーへのリクエスト/接続をリダイレクトサービスと統合され、「スマート」ロードバランサ、です。 – EdwardH