スロットリング(トークンバケットアルゴリズム)難易度 高無料
あるREST APIのアカウントレベルのスロットリング設定は「レート:1,000リクエスト/秒、バースト:2,000」である。クライアントが一瞬で2,500リクエストを送信した場合に起きる挙動として最も適切なものを選べ。(単一選択)
- A最初の2,000リクエストはバースト容量の範囲内で処理され、残り500リクエストは
429 Too Many Requestsとしてスロットリングされる - B最初の1,000リクエストのみ処理され、残り1,500リクエストがすべて
429としてスロットリングされる - C2,500リクエストすべてが受理され、API Gateway内部のキューに蓄積されてから順次処理される
- Dバースト設定はキャッシュ容量を意味し、リクエスト数の制御には無関係。2,500リクエストはすべてレート1,000/秒の制限のみで処理される
正解・解説・誤答理由・ひっかけを見る▼ open
✓ 正解:AAI作成・独立検証済
解説
API Gatewayのスロットリングはトークンバケットアルゴリズムで実装されている。
- バースト(burst)=バケットの容量(トークンの最大保持数)。本設問では2,000トークンまで即座に消費可能。
- レート(rate)=バケットへトークンが補充される速度(1秒あたり1,000トークン)。
- 2,500リクエストが一瞬で来た場合、最初の2,000リクエストはバースト容量の範囲内で処理される。
残りの500リクエストはバケットにトークンが無いため
429 Too Many Requests(ThrottlingException)でスロットリングされる。 - その後はレート(1,000/秒)でトークンが補充されるペースに応じて、後続のリクエストが順次処理される。
レートとバーストは別々のパラメータであり、瞬間的な超過に対する許容量(バースト)と、継続的な処理能力(レート)を分けて理解することが重要である。
- Bレート(1,000/秒)はトークンの補充速度であり、瞬間的な処理可能数の上限ではない。瞬間的にはバースト容量(2,000)まで処理される。
- CAPI Gatewayのスロットリングはリクエストをキューイングするのではなく、上限を超えた分は即座に429で拒否する仕組みである。
- Dバーストはキャッシュ容量ではなく、トークンバケットの容量(瞬間的に処理できる上限)を意味する。レートとは別の独立したパラメータである。
ひっかけ: 「レート1,000/秒を超えた分だけ全て拒否される(2,500-1,000=1,500件拒否)」という誤解が典型的な罠。
バースト(トークンバケットの容量)分は瞬間的に許容されるため、まずバースト2,000件分が処理され、それを超えた分だけが429になる。
AIが作成し、独立した検証を経た解説です(有資格者による監修は経ていません)