DNS 負荷分散ランキングアルゴリズムの理解

DNS 負荷分散ランキングアルゴリズムの理解

先ほど、DNS 負荷分散の概念をいくつか紹介しました。次に、この負荷分散テクノロジに関連するアルゴリズムとランキングの問題について説明します。これは、サーバー負荷アプリケーションにおいて非常に重要な概念です。それでは、次のテキストからさらに知識を学んでいきましょう。この点に関して、皆さんが問題の概要を理解できることを願っています。

負荷分散アルゴリズム

もともと、負荷分散は、DNS プロキシが、マシンの機能が類似または同一であるマシンのクラスターの概念をサポートできるようにすることを目的としていました。さらに、どのマシンが選択されるかについて特に考慮する必要はありませんでした。このようにして、負荷は実際には同一ではないホストのセット全体に均等に分散されました。マシンは構成と機能が異なるため、より複雑なアルゴリズムが必要です。

「ラウンドロビンアルゴリズム A」は、ラウンドロビン方式でサーバー間でリクエストを均等に分散できます。ただし、リクエストは動的に処理されますが、異なるパフォーマンス特性が認識されないという問題があります。

「負荷平均化アルゴリズム A」は、サーバーの負荷に基づいてリクエストを分散します。この設計は非常にシンプルで、比較的安価です。ただし、このアルゴリズムは、サーバーの構成や機能が異なる状況には対応できません。

「ランキング アルゴリズム A」は、以下に示すように、ユーザー数と負荷平均のリストに基づいています。このアルゴリズムは、最も少ない個々のヒットと最も低い負荷平均に基づいて最適なホストをランク付けするため、より合理的です。このアルゴリズムは、dlbDNS で最適なサーバーを決定するときに使用されます。

WT_PER_USER=100

USER_PER_LOAD_UNIT=3

FUDGE = (TOT_USER-UNIQ_USER)*(WT_PER_USER/5)

重量=(UNIQ_USER*WT_PER_USER)+(USER_PER_LOAD_UNIT*LOAD)+FUDGE

このリストでは、変数名は次の意味を持ちます。

TOT_USER: ログインしているユーザーの総数

UNIQ_USERS: ログインしているユニークユーザーの数(たとえば、ユーザー a とユーザー b は、ログイン回数に関係なく、2 人のユニークユーザーです)

負荷:***1分間の負荷平均を100倍

WT_PER_USER: ユーザーごとにロード

FUDGE: ユーザーが複数回ログインした場合の修正パラメータ

重み: サーバーランキング

dlbDNSの使用

まず、Internet Software Consortium (http://www.isc.org/bind.html) から BIND8.1.2 をダウンロードします (dlbDNS 機能は BIND8.1.2 でサポートされています)。この例では、DNS は dydns.clinux.org にインストールされ、別の Linux ワークステーションでテストされています。設定を確認してください。

この構成では、動的負荷分散に参加するホストを区別するために、DNAME という新しい属性が追加されています。上記の構成では、back1.dydns.clinux.org、back2.dydns.clinux.org、b.dydns.clinux.org が www1.dydns.clinux.org の動的負荷として使用され、hack1.dydns.clinux.org、hack2.dydns.clinux.org、h.dydns.clinux.org が www2.dydns.clinux.org の動的負荷として使用されていることがわかります。

サーバー側アルゴリズム

以下は dlbDNS のアルゴリズムです。サーバーの要求が DNAME タイプの場合、サーバーは次のアクションを実行します。

1. このサービスに参加するサーバーのセットを決定します。

2. 各サーバーとの同期非接続接続を確立して、参加している各サーバーのランキング値を取得します。

3. 返されたランキング値に基づいて最適なサーバーを決定します。

4. エラーメッセージを処理します。

ランキングサービスアルゴリズム

ランキング サービスは、動的負荷分散に参加する各サーバー上で実行されます。アルゴリズムは次のとおりです。

1. dlbDNS からランキングリクエストを受信します。

2. ホストのランキングは、リクエストを受信した時ではなく、1 分ごとに計算されます。応答時間は非常に重要な要素であるためです。

3. ホストランキングが毎分更新されることを確認します。

4. dlbDNS がホストの応答を待たずに UDP インターフェイスを閉じるなどのエラー状況を処理します。

dlbDNS の利点

これについては、これ以上説明する必要がありません。リソースを最大限に活用するだけでなく、DNS を使用して負荷分散を実現するため、FTP や TELNET などのプログラムでも dlbDNS を使用できます。

開発の方向性

現在、gethostbyname システムは BIND コードでは正しく動作しませんが、ホストと IP アドレスのリストを含む構成ファイルを用意することで解決できます。もちろん、よりよい解決策が得られることを期待しています。

2 番目に、ランキング アルゴリズムはまだ完璧ではありません。アルゴリズムはプロセッサの数を考慮できません。CPU とメモリを考慮すると、アルゴリズムはより効果的になります。

3 番目に、Linux サーバーでは、ランキング アルゴリズムは /proc ファイル構造内のファイルを使用しますが、これは動的なバランス構成としか言えず、より強力な設計が必要になります。

注: dlbDNS のソース コードは、http://www.cs.twsu.edu/~hcvillia/acads/project/ から入手できます。

<<:  両者は負荷分散アルゴリズムを要約する

>>:  負荷分散アルゴリズムの完全なリスト

推薦する

ディープラーニングとデータセンターの関係

ディープラーニングは、教師なし特徴学習または特徴学習とも呼ばれ、人工知能の研究分野の 1 つであり、...

2019年に予想される5つのホットなスタートアップトレンド

最近は大学生があちこちで見かけられ、就職のプレッシャーも高まっています。そのため、多くの人にとって、...

世界のトップ25の人工知能企業

過去数年間で人工知能の利用は爆発的に増加しており、すでに多くのスタートアップ企業や大手企業が独自の ...

AIとIoTはどのように連携するのでしょうか?

人工知能 (AI) とモノのインターネット (IoT) の統合により、技術革新と機能の新しい時代が到...

360はウォータードロップライブを永久に閉鎖し、セキュリティ監視に注力すると発表した。

360は12月20日、Water Dropライブストリーミングプラットフォームを積極的に永久に閉鎖...

MITは液体のような動的変化に適応できるLiquid機械学習システムを提案

自動運転などの多くの重要なアプリケーションでは、データはリアルタイムかつ動的であり、予期しない状況が...

海外の研究者がAIを使って生体認証を欺く顔を生成

海外メディアによると、イスラエルのテルアビブ大学の研究者らは最近、画像生成システムStyleGANを...

機械学習と古典的なアルゴリズムの概念をわかりやすい言葉で説明しました。初心者必読

データ分野では、多くの人が機械学習について語っていますが、それが何であるかを明確に説明できる人はごく...

5分でトップ10の機械学習アルゴリズムを学ぶ

[[317656]]機械学習は業界にとって革新的で重要な分野です。機械学習プログラムに選択するアルゴ...

8日間の国慶節と中秋節の休日、ドローンが楽しい時間をお過ごしください

国慶節と中秋節が重なり、長い休暇を利用して旅行する気分が盛り上がっています。関連データによると、今年...

...

李開復氏:若者は人工知能に取って代わられない仕事を探すべきだ

AlphaGo が囲碁のゲームを解読した日、人類は自分たちの仕事が AI に置き換えられるのではない...

CommScope Insights: データセンターが AI をより迅速かつコスト効率よく活用する方法

人気のSF小説で「機械知能の台頭」が描かれる場合、通常はレーザーや爆発などのシーンが伴います。それほ...

確かな情報です! AIテクノロジーアーキテクチャソリューションの実現可能性を判断するのに役立つ3つの重要な要素

[[329919]]近年、人工知能は急速に発展しており、コンピュータービジョンや自然言語処理の分野で...

Amazon クラウド テクノロジーにより、Yidiantianxia は AIGC の波の中で新しいマーケティング パラダイムを構築できるようになりました。

生成的 人工知能 それがもたらす熱狂は継続し、すべての人の思考を刺激し続けます。今日の「百モデル戦争...