私は複数のNode.jsサーバーを持っており、それぞれのクライアントに最も近いもの(または最小ホップ)に接続したいと考えています。pingは最適なサーバーを見つける最も効果的な方法ですか?
現在のところ、私はクライアントが最初に応答するサーバー(つまり、最も低いping)に接続しています。
しかし、これは実際には最高のサーバーまで人々を照合する正確な方法でしょうか?そうでない場合は、より良い方法は何でしょうか?
私は複数のNode.jsサーバーを持っており、それぞれのクライアントに最も近いもの(または最小ホップ)に接続したいと考えています。pingは最適なサーバーを見つける最も効果的な方法ですか?
現在のところ、私はクライアントが最初に応答するサーバー(つまり、最も低いping)に接続しています。
しかし、これは実際には最高のサーバーまで人々を照合する正確な方法でしょうか?そうでない場合は、より良い方法は何でしょうか?
単一のpingを使用すると、1つのラウンドトリップ時間メトリックが得られます。これは何もないより優れており、(常にそうとは限らないが)多くの場合、そのサーバーに対する一般的なネットワーク待ち時間のための十分なプロキシーとなりうる。これで始めることは問題ありません。
最近のアプリケーションレベルの応答時間、アクティブな接続の総数、CPU負荷、I/O負荷などのようなものがあります。クライアントが基本的なヘルス/パフォーマンスメトリックを要求し、サーバーがそれらを送信するアプリケーションレベルの方法それをランク付け可能な数値スコアに変換するアルゴリズムを使用します。私は空の応答を得るために遅れて良い次のステップは、各サーバーの平均(または百分位数)の応答時間を最後の1分間程度調べて、最も時間の短いものを選択することだと思います。