0

私は、サーバー側からの助けをほとんどまたはまったく必要とせずに、クライアント側の実行によって達成できるサーバーのクライアント共有について考えていましたが、これを思いつきました-

ばかげて聞こえるかもしれませんが、ここに行きます -

  1. サーバーには、サーバー名、サーバーのIPアドレス、および対応するIPアドレスのMAC IDのフィールドを格納するテーブルがあります(はい、これは非常にWindows中心のアプローチです)
  2. クライアントがメインサーバーにログオンするたびに、サーバーにクエリを送信し、テーブルにあるそれぞれの MAC ID としてすべてのサーバーエントリの IP アドレスを返します (1 つのサーバーに複数の rsynced コピーがあると仮定しています)。
  3. 次に、クライアントはこれらの IP アドレスのそれぞれに traceroute を実装し、ホップカウントの昇順に配列に格納します。
  4. この配列を反復処理し、arp を実装して IP アドレスを MAC ID に解決します。次に、これらの MAC ID をステップ 1 でメイン サーバーから取得したものと比較します。一致する場合は、接続するサーバーの選択は、ホップ カウント数 + MAC IDS の一致 + 負荷を示すメトリックに基づいて行われます (その時点でのそのサーバーへの接続)。

このアイデアがどのように聞こえるかについての意見は大歓迎です。

4

1 に答える 1

1

負荷分散がホップ カウントだけに基づくとは思えません。また、なぜ MAC アドレスが必要なのですか? 1 つのサーバーに到達するのは速いが非常にビジーである場合、それは最良の選択ではない可能性があります。メインサーバーにサービスを追加して、すべてのサーバーのクライアント数を追跡​​し、それを基準として使用することもできます...しかし、それは古くて単純で単純な負荷分散によく似ています。

于 2010-02-05T11:19:35.633 に答える