19章フロントエンドにおけるロードバランシング

執筆:Piotr Lewandowski

編集:Sarah Chavis

私たちは毎秒数百万のリクエストを処理しています。おそらくは想像できる通り、私たちは複数のコンピュータを使ってそれらの要求を処理しています。しかし、これらのリクエストを何らかの形で処理できる単一のスーパーコンピュータを私たちが仮に持っていたとしても(そのような環境ではどれほどのネットワーク接続が必要になることでしょう!)、私たちは単一障害点に依存するような戦略はとらないでしょう。大規模なシステムを扱う場合、一点にすべてを依存するのは破滅への処方箋です。

本章では、高レベルのロードバランシングに焦点を当て、データセンター間でのユーザートラフィックのバランスの取り方を見ていきます。データセンター内でのロードバランシングの実装については、次章で見ていきます。

19.1 パワーは解答にあらず

議論のために、信じがたいパワーを持つマシンと、決して障害を起こさないネットワークがあるとしましょう。そのような構成はGoogleの要求を満たせるでしょうか? 答えはNoです。そういった構成であってさえ、私たちのネットワークインフラストラクチャにまつわる物理的な制約からは逃れられません。例えば、光ファイバーケーブルの通信速度においては光の速さが制約要因となり、データが移動しなければならない距離に基づいてデータを返せる早さに上限が生じます。例えば理想的な環境であっても、単一障害点を持つインフラストラクチャに依存するのは悪い考え方です。

実際には、Googleは莫大な数のマシンと、それ以上の数のユーザーを持っています。ユーザーの多くは、同時に複数のリクエストを発行します。トラフィックのロードバランシング ...

Get SRE サイトリライアビリティエンジニアリング ―Googleの信頼性を支えるエンジニアリングチーム now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.