技術用語を比喩から学ぼう ! - 第 4 回「ロードバランサー」
Author : 吉田 慶章
builders.flash 読者の皆さん ! こんにちは ! テクニカルトレーナーの吉田慶章です。
builders.flash には様々なカテゴリがありますが、本記事は「How to be a Developer」というカテゴリーに所属しています。エンジニアを目指している方やインフラエンジニアからアプリケーションエンジニアにロールチェンジを目指している方などを読者層とし「どうやってエンジニアになれば良いのだろう ?」をテーマにしています。
そして、本記事は「初学者が理解しにくい技術用語を現実世界の比喩で紹介する」シリーズです。トレーニングの場でも比喩を使って説明することが重要になり、私自身とても意識しています。
第 4 回「ロードバランサー」
比喩シリーズ 第 4 回の技術用語は「ロードバランサー」です。
- 「ロードバランサー」を使ってサーバーにリクエストを割り振る
- 「ロードバランサー」を使って高可用性を実現する
- 「ロードバランサー」のヘルスチェックを活用する
といった例文などを目にすることもあるのではないでしょうか ?
比喩
「ロードバランサー」を日本語にすると「負荷分散装置」です。名前の通り、負荷 (リクエスト) を分散する役割です。
現実世界の例を出してみましょう。例えば「長蛇の列を整理する人」を想像してみるのはいかがでしょうか ? もう少し具体化しましょう。「通勤ラッシュ時の駅でお客様を改札口に誘導する駅員さん」や「スーパーでお客様をレジに誘導する店員さん」や「イベント会場でお客様を入場口に誘導する係員さん」はいかがでしょうか ?
今回は「駅員さん」の比喩を使いますが、以下のように整理できます。なお、お客様を改札口に誘導する駅員さんが常にいるという意味ではなく、通勤ラッシュ時や電車遅延時や新幹線の改札口など、皆さんの実体験からイメージしやすいものを想像していただければと思います。
- 「お客様」は「負荷 (リクエスト)」
- 「駅員さん」は「ロードバランサー」
- 「改札口」は「サーバー」
メリット
では、現実世界の例をさらに深堀り、メリットを考えましょう。
1. 改札口を効率良く使える
お客様がそれぞれ改札口に並んでしまうと、混んでいる改札口と混んでいない改札口ができてしまうかもしれません。もし駅員さんが「改札口 1 にどうぞ!」や「改札口 2 にどうぞ !」といった誘導をすれば、お客様は混んでいる改札口に並ぶことはありません。そして、改札口を無駄なく、効率的に使えることもメリットです。長蛇の列の軽減には全体を把握した役割が必要で、これこそが「負荷分散」です。
2. 行き先を確認して適切な改札口に誘導できる
行き先によって改札口が異なる駅があるかもしれません。そんなときも駅員さんに確認すれば「A に行くなら改札口 1 にどうぞ !」や「B に行くなら改札口 2 にどうぞ !」と適切に誘導してもらえるでしょう。お客様の行き先を確認して適切に誘導できることもメリットです。これは「負荷分散ルール」と呼ぶこともあります。
3. 異なる列車の切符を持ったお客様に注意できる
地下鉄と新幹線など、列車によって切符が異なることもあります。新幹線の改札口に地下鉄の切符を入れると警告が出てしまうかもしれません。そこで駅員さんに確認すれば「この切符は使えませんね !」と注意してもらえるでしょう。異なる列車の切符を持ったお客様が改札口に並ばないように注意できることもメリットです。これも「負荷分散ルール」と呼べるでしょう。
4. 故障した改札口にお客様が並ばないように誘導できる
故障やメンテナンスにより、一部の改札口が使えなくなることもあります。改札口に赤くパトランプが光っていればお客様も気付けるかもしれませんが、そうでないと気付かずに故障した改札口に並んでしまうかもしれません。駅員さんは全体を把握し、故障した改札口ではなく、正常に稼働している改札口にお客様を誘導します。故障している改札口を把握することから「ヘルスチェック」と呼ぶこともあります。
まとめ
本記事では、通勤ラッシュ時の駅でお客様を改札口に誘導する駅員さんを比喩に「ロードバランサー」を紹介しました。そして、ロードバランサーにはヘルスチェックなど、負荷分散以外の役割があることも紹介しました。実際のワークロードでは、例えば Elastic Load Balancing を使ってアプリケーションを構築することができます。
皆さんも比喩を考えてみてください ! ではまた次回 !
この連載記事のその他の記事はこちら
- 選択
- 第 1 回「疎結合」»
- 第 2 回「パブサブ」»
- 第 3 回「イミュータブル」»
- 第 4 回「ロードバランサー」»
- 第 5 回「キャッシュ」»
- 第 6 回「テンプレート」»
- 第 7 回「命令型と宣言型」»
- 第 8 回「DNS の名前解決」 »
筆者プロフィール
吉田 慶章
アマゾン ウェブ サービス ジャパン合同会社
トレーニングサービス本部 テクニカルトレーナー
ウェブエンジニア/プログラミング講師などの経験から AWS テクニカルトレーナーに。教えることを本職とし、効果的な学習メソッドを考え続けている。教えることは最高の学習である。Keep on Learning 👍
AWS を無料でお試しいただけます