次の方法で共有


レート制限とは何ですか?

レート制限は、クラウド API が特定の時間枠内でユーザーが行うことができる要求の数を調整するために使用する制御メカニズムです。 クラウド API プロデューサーは、レート制限を使用して、要求のフローがサービスを圧倒しないようにします。 レート制限は、API 呼び出しの速度と量に上限を設定します。通常は、期間ごとの要求の観点から定義されます。

クラウド API がレート制限を使用する理由

  • オーバーロードを防止します。 レート制限により、単一のユーザーまたはサービスで要求が多くなりすぎないようにすることで、API サーバーの安定性と応答性が確保されます。
  • 公平な使用を確保します。 レート制限では、公平な使用ポリシーが適用され、単一のユーザーが API リソースを独占することがなくなり、すべてのユーザーに対して公平なアクセスが可能になります。
  • セキュリティ。 悪意のある可能性のあるソースからの要求の数を制限することで、DDoS (分散型サービス拒否) 攻撃やその他の不正な動作を軽減するのに役立ちます。
  • コスト管理 . クラウド サービス プロバイダーの場合、レート制限は、予期しないリソースや過剰なリソースの使用を防ぐことで運用コストを管理するのに役立ちます。
  • サービスの品質。 トラフィックの急増を防ぐことで、レート制限により、すべてのユーザーに一貫したサービス品質が保証されます。

アプリでレート制限が発生する方法

クラウド API を統合するアプリを構築するときは、そのドキュメントを確認して、レート制限がサポートされているかどうかを確認します。 その場合は、レート制限に関する情報を含む RateLimit-... または X-RateLimit-... 応答ヘッダーを受け取ります。 アプリケーションでこの情報を使用して、API のレート制限を超えないようにすることができます。 たとえば、 RateLimit-Remaining ヘッダーは、現在のウィンドウに残っている要求の数を示します。 このヘッダーが 0 に設定された応答を受け取った場合、レート制限に達したことはわかっており、別の要求を送信する前に次のウィンドウを待つ必要があります。 RateLimit-Reset ヘッダーは、レート制限がリセットされた時刻を示します。 一部の API では、要求の 10% が残っている場合など、しきい値に達した後にのみ RateLimit-... ヘッダーが送信されることに注意してください。

レート制限を超えると、API は HTTP 429 (要求が多すぎます) 状態コードを返す要求を調整します。 一部の API では、別の要求を送信する前に待機する必要がある時間を示す Retry-After ヘッダーが送信される場合もあります。

調整を回避し、アプリケーションの応答性を維持するには、アプリケーションにレート制限を実装する必要があります。 テクノロジ スタックに応じて、アプリケーションのレート制限を処理するのに役立つさまざまなライブラリがあります。 アプリケーションでレート制限を実装した後、レート制限が適切に処理されるかどうかをテストします。

次のステップ