レート制限
レート制限は、アプリケーションが指定された時間内に API に対して行えるリクエストの最大数を定義します。このメカニズムはサービスの全体的な健全性と信頼性を維持するために不可欠です。
レート制限を使用する理由
API の安定性とパフォーマンス
- 1 つのクライアントが過剰なリクエストでサーバーに負荷をかけるのを防ぎます。
- すべてのクライアントに対して一貫した予測可能なレスポンスタイムを確保します。
- バックエンドサービスを予期しないトラフィックの急増から保護します。
- インフラストラクチャ上で安定した制御された負荷パターンを維持します。
セキュリティ
- ブルートフォースなどの攻撃の試みに対する防御を強化します。
- 分散型サービス拒否(DDoS)のリスクを軽減します。
- 不適切に実装されたインテグレーションによる影響を軽減します。
- 侵害された API 認証情報による潜在的な損害を制限します。
リソース配分
- すべてのクライアントに対して API リソースへの均衡なアクセスを確保します。
- 一部による乱用が他のユーザーのエクスペリエンスを低下させるのを防ぎます。
- ビジネス基準とニーズに応じてトラフィックを優先させることができます。
- より効率的で持続可能な API 消費の実践を促します。
レート制限の仕組み
各 API 呼び出しは、許可されたリクエスト毎秒(RPS)制限にカウントされます。デフォルト値はテナントあたり 10 RPS です。制限を超えると、API は HTTP 429 Too Many Requests を返します。
オンボーディングチームに確認してください
正確な制限はテナントごとに設定されます。高スループットのインテグレーションをサイジングする前に、オンボーディングチームに連絡してアカウントに適用される制限を確認してください。
429 エラーの処理
レート制限の引き上げをリクエスト
オペレーションのリクエスト量が増加する場合(一時的または恒久的に)、Unico チームに通知して環境のレート制限を引き上げてもらってください。このリクエストは、アプリケーションが動作不能になるのを避けるために、実際に量が増加する 前 に行う必要があります。
アプリケーションの動作を見直す
- コードを監査して非効率な API 使用パターンを特定してください。
- 意図しないループや冗長な API 呼び出しを確認してください。
- 大きなバーストで送信する代わりに、リクエストを時間的に均等に分散してください。
キャッシュを実装する
- ほとんど変化しない頻繁にアクセスされるデータをキャッシュしてください。
- OAuth2 アクセストークンをその完全な 1 時間の TTL で使用してください — リクエストごとに
POST /oauth2/tokenを呼び出さないでください。 - 適切なキャッシュ無効化戦略を実装してください。
ポーリングの代わりに Webhook を使用する
GET /client/v1/process/\{id\} をポーリングする代わりに、PROCESS_STATE_FINISHED の Webhook とイベント にサブスクライブしてください。ポーリングループは高トラフィック時に GET プロセスの予算を簡単に使い果たしてしまう可能性があります。