SRE サイトリライアビリティエンジニアリング ―Googleの信頼性を支えるエンジニアリングチーム
by Betsy Beyer, Chris Jones, Jennifer Petoff, Niall Richard Murphy, 澤田 武男, 関根 達夫, 細川 一茂, 矢吹 大輔, Sky株式会社 玉川 竜司
20章データセンターでのロードバランシング
執筆:Alejandro Forero Cuervo
編集:Sarah Chavis
本章では、データセンター内のロードバランシングに焦点を当てます。特に注目するのは1つのデータセンター内で一連のクエリを分配する処理のアルゴリズムです。本章では、処理を行う個々のサーバーにリクエストをルーティングするためのアプリケーションレベルのポリシーを取り上げます。低レベルのネットワーキングの原理(例えばスイッチやパケットのルーティング)やデータセンターの選択については、本章では取り上げません。
データセンターに到着する一連のクエリがあるとしましょう。それらはそのデータセンター自体、リモートのデータセンター、あるいはそれらの両方から来るもので、データセンターがクエリを処理するために持っているリソースを超えないペースでやってくる(あるいは超えるとしてもごく短時間)ものとします。また、データセンター内には複数のサービスがあり、クエリはそれらのサービスを利用するためのものです。それらのサービスは、均一で交換可能な大量のサーバープロセスとして実装されており、それらのプロセスは多くの場合さまざまなマシン上で動作しています。通常、最も小さなサービスはそういったプロセスを最低でも3つ使って動作しており(それ以下になれば、1つのマシンを失うだけで50%以上のキャパシティが失われてしまうことになります)、最も大規模なものなら10,000以上のプロセスを使用していることもあります(データセンターのサイズに依存します)。典型的にはサービスは100から1,000のプロセスで構成されます。私たちは、こういったプロセスをバックエンドタスク(あるいは単にバックエンド)と呼んでいます。他のタスクは ...
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