6

私はプロジェクトに取り組んでおり、世界中に数台 (現時点では 5 台) のサーバーが分散しています。クライアントは、集中型ブローカーを介してこれらのサーバーの 1 つに接続します。私たちはクライアントの出身国を知っていますが、それ以外は何も知りません. サーバーを完全に制御できるため、必要なすべての情報を取得できます。私たちはクライアントを制御しません。標準に従って、クライアントはこのブローカーを介して接続する必要があります。

ブローカーが低レイテンシーのサーバーを選択することが重要であるため、私たちが持っているデータでは、近接性が唯一の利用可能な基準だと思います.

頭に浮かんだ最初のアイデアは、各サーバーからクライアントに ping を実行することですが、IP はなく、国だけがありました。

私たちが持っていた他のアイデアは、各サーバーから各国のルート ノードに ping を実行することです。問題は、各国でルート ノードを見つけることです。

「国」間の近接性を計算/検索する方法はありますか? この問題を別の方法で解決する方法についての洞察やアイデアはありますか?

4

7 に答える 7

7

これは、多くの人が想像する以上にトリッキーですが、正しい答えがあると感じています。

もちろん、単純な (しかしクールな) ソリューションはクライアントの IP をチェックすることです。これは良いスタートですが、「現実の世界」では位置情報がすべてではありません...

「低遅延」を要求したところです。つまり、サーバーとクライアント間でpingを実行し、それに応じて割り当てる必要があります。個人的に何度も影響を受けているこの問題の非常に良い例は、私が日本で働いていることであり、台湾のサーバーは私にとって米国のサーバーに何倍も近い. しかし、日本とアメリカの間の遅延は、台湾と比べて何倍も短く (応答が良く) あります。これは、日本と台湾を接続するケーブルとルーター、および what-have-you が、日本とアメリカの間のものほど良くないためです。私の IP の方が近いと考えて、私を台湾に接続したとしたら、あなたは私を非常に嫌うことになるでしょう。そこの。起動時の ping と実際の小さなテストに加えて、常に更新された地理位置情報データベースを維持するよりも簡単です。

于 2008-11-28T11:35:04.767 に答える
4

必要な用語は「地理的負荷分散」だと思います。主要な負荷分散ベンダーのほとんどは、ここでソリューションを提供しています。ブローカーはこれらを使用できます。

地理的負荷分散をグーグルで検索すると、有用な結果が得られます。

于 2008-11-28T11:34:03.380 に答える
2

地理的なロード バランシングが必要な場合は、地理的な負荷分散を専門とする人を見つけて資金を投じるのが最善の策だと付け加えておきます。それは、最初に見えるよりも確実に解決するのがはるかに難しい問題のクラスです。

于 2008-11-28T12:49:46.630 に答える
1

それらにpingを実行し、レイテンシが最も低いものを選択するのは良いことのように聞こえますが、スケーリングしないと感じています(100または1000の場合はどうなりますか?)-おそらく別の解決策の方が良いでしょうか?これを実行するシステムを提供しているベンダーはたくさんあります。DNSエニーキャストも非常に広く使用されています。

それらにpingを実行しただけの場合は、ポットラックではなく、本当に低いレイテンシーで確実にpingを実行するために、それぞれに(理想的には並行して)複数のpingを実行する必要があります。

また、トラフィックの量が非常に多い場合は、最終的にそれらに重みを追加する方法が必要になる可能性があります。

最後に、それらのいくつかを(メンテナンスのために)管理上ダウンとしてマークする方法が必要ですが、現在利用できないものをアドバタイズしないようにすることで、これを行うことができます。

于 2008-12-06T11:39:53.553 に答える
1

ping が機能しません。ほとんどのクライアントはゲートウェイやファイアウォールの背後にあり、ping パケットは通過しません。ジーンハックはそれを最もよく言った。サーバーの負荷分散が必要であり、地理的なアプローチだけを使用することが常に最善の方法であるとは限りません。SLB ソリューションの提供を専門とする人に投資する方が賢明です。

于 2008-12-31T07:34:22.550 に答える
1

いくつかの簡単な考えがあります。私はDigital Envoyの創設者でした。彼らは地理的な IP インテリジェンスを行っています。私は数年前に会社を去りましたが、約 6 年前にCoyote Point Systemsとの共同製品を構築しました。この機能はまさに地理ベースの負荷分散です。確かに、自動的に機能しないエッジ ケース (このスレッドで言及されている台湾/中国の例) はありますが、この製品により、ユーザーは国のトラフィックがどこに向かうかを判断できました。したがって、台湾は米国外でサービスを提供するのが最善であると判断した場合、そのようにプッシュされるでしょう.

残念ながら、このソリューションに対する需要は期待したほどではなく、製品は製造中止になったと思います。Coyote Pointに連絡して、同等のソリューションを提供できるかどうかを確認することをお勧めします。そうでない場合は、あなたがやりたいことをどのように行うかについて、彼らはいくつかのアイデアを持っていると思います.

何を提供する必要があるかに応じて、別のオプションは、Amazon の CloudFront サービスのようなものを使用することです。もちろん、クライアントが静的ファイルではなくアプリに接続する必要がある場合、それはうまくいきません。

ところで、完全な開示- 私は Digital Envoy の創設者であるだけでなく、現在 Coyote Point の役員も務めています。

于 2008-12-31T14:09:56.947 に答える