第5章 負荷分散 ロードバランサのアプローチとテクニック
この作品はAIを使って翻訳されている。ご意見、ご感想をお待ちしている:translation-feedback@oreilly.com
スケーラビリティを追求し、サービスの中断のない可用性を確保するために、組織は、第 1章で説明したように、水平および垂直スケーリングのテクニックを採用してきた。これらのメソッドは、スケーラビリティの課題のいくつかに対処してきたが、継続的なサービスの可用性を保証するものではない。インターネットの急速な成長と、現代の高トラフィックWebサイトが何十万もの同時リクエストに対応する必要性から、より堅牢性の高いアプローチが必要とされている。
1つのサーバがすべてのリクエスト/レスポンスに対応すると、オーバーロードになり、システム障害につながる可能性がある。この制限を克服するために、システムを水平方向に拡張する。そして、 サーバープールと呼ばれるバックエンドサーバーのグループに、入ってくるネットワークトラフィックを効率的に分散させるために、ロードバランサーの出番となる。これは、自分ひとりで会社を立ち上げ、後に多くの人を雇って(そしてその人たちにタスクを分散して)ビジネスを拡大するのとよく似ている。
この章では、まずトラフィックを管理し、パフォーマンスを向上させるための様々なネットワーキングコンポーネントを理解することから始める。そして、効率的な負荷分散を実現し、サービスの高可用性を確保する上で重要な役割を果たすロードバランサ(LB)の概念に焦点を当てる。ロードバランサのメカニズムだけでなく、採用されている様々なロードバランシングアルゴリズムとそれぞれの長所と短所についても掘り下げていく。LBとその機能を理解することは、増大する負荷を処理し、インフラを拡張し、ユーザやクライアントにシームレスな体験を提供する組織の能力を高める。最後に、人気のあるオープンソースのロードバランサ・ソリューションについて学ぶ。それでは、様々なネットワークコンポーネントについて始めよう。
ネットワークコンポーネント
ネットワークとウェブサービスの領域では、いくつかのコンポーネントが、トラフィッ クフローの管理と最適化、スケーリング、セキュリティの強化、パフォーマンスの向 上において、重要な役割を果たしている。図5-1に示すように、フォワードプロキシ、リバースプロキシ、 LB、APIゲートウェイの4つがそのようなコンポーネントである。
図5-1. ロードバランサ、リバースプロキシ、フォワードプロキシ、APIゲートウェイ
これらのコンポーネントにはいくつかの共通点があるが、それぞれ明確な目的を持ち、ネットワーク・アーキテクチャの中で異なるレベルで演算子として機能する。それぞれの違いを探ってみよう:
- ロードバランサ
-
LBはネットワークアーキテクチャの重要なコンポーネントであり、入ってくるネットワークトラフィックを複数のサーバに分散させ、アプリケーション、Webサイト、データベースのパフォーマンスとアクセシビリティを向上させる。LBは、リソースのステータスを監視すると同時に、リクエストの流れをオーケストレーションするという2つの役割を果たす。あるサーバが応答しなくなったり、新しいリクエストを処理できなくなったり、エラー率が高まったりすると、LBはそのサーバへのトラフィックを停止し、利用可能な別のサーバにルーティングする。LBは、L4(トランスポート層)やL7(アプリケーション層)など、OSI(Open ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access