Skip to Content
SRE サイトリライアビリティエンジニアリング ―Googleの信頼性を支えるエンジニアリングチーム
book

SRE サイトリライアビリティエンジニアリング ―Googleの信頼性を支えるエンジニアリングチーム

by Betsy Beyer, Chris Jones, Jennifer Petoff, Niall Richard Murphy, 澤田 武男, 関根 達夫, 細川 一茂, 矢吹 大輔, Sky株式会社 玉川 竜司
August 2017
Intermediate to advanced
590 pages
8h 40m
Japanese
O'Reilly Japan, Inc.
Content preview from SRE サイトリライアビリティエンジニアリング ―Googleの信頼性を支えるエンジニアリングチーム

21章過負荷への対応

執筆:Alejandro Forero Cuervo

編集:Sarah Chavis

ロードバランシングのポリシーの目標は過負荷を避けることです。しかし、ロードバランシングのポリシーがいかに効率的であったとしても、いつかはシステムのどこかが過負荷になるときがきます。過負荷の状況をうまく扱うことは、信頼性のあるサービスを稼働させるために欠かせないことです。

過負荷を扱う方法の一つは、レスポンスの品質を下げることです。すなわち、通常のレスポンスに比べて精度が低い、あるいは含まれるデータ量が少なく、計算しやすいレスポンスを返すのです。以下はその例です。

  • 検索クエリに対し、コーパス全体を検索して最善の結果を提供する代わりに、候補の集合の小さな部分だけを検索する。
  • 本来のストレージにアクセスせず、完全に最新ではない可能性がある計算結果のローカルコピーを使うことで負荷を抑える。

とはいえ、極端な過負荷状態の下では、品質を下げたレスポンスを計算して返すことさえできないかもしれません。そうなってしまった場合、おそらく即座にとれる選択肢はエラーを返すこと以外にないでしょう。この場合の緩和策の一つは、トラフィックのバランスをデータセンター間で調整し、処理できないほどのトラフィックを受けるデータセンターがないようにすることです。例えば、あるデータセンターが100個のバックエンドタスクを実行しており、それぞれのタスクが処理できるリクエスト数が最大で毎秒500であるなら、ロードバランシングのアルゴリズムはそのデータセンターに毎秒50,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.
Start your free trial

You might also like

データベースリライアビリティエンジニアリング ―回復力のあるデータベースシステムの設計と運用

データベースリライアビリティエンジニアリング ―回復力のあるデータベースシステムの設計と運用

Laine Campbell, Charity Majors, 八木 和生
エレガントなSciPy ―Pythonによる科学技術計算

エレガントなSciPy ―Pythonによる科学技術計算

Juan Nunez-Iglesias, Stéfan van der Walt, Harriet Dashnow, 山崎 邦子, 山崎 康宏
リーンエンタープライズ ―イノベーションを実現する創発的な組織づくり

リーンエンタープライズ ―イノベーションを実現する創発的な組織づくり

Jez Humble, Joanne Molesky, Barry O'Reilly, 角 征典, 笹井 崇司, Eric Ries

Publisher Resources

ISBN: 9784873117911Other