AIリクエストのレート制限とキューイング
レート制限、リクエストキュー、適切なバックプレッシャーを使い、AI SaaSのバックエンドを過負荷や予想外のコスト増から守る方法を学びます。
「AIリクエストのレート制限とキューイング」はCoddyKit上の無料AI SaaS Builderレッスンです。 これはレッスン4/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはAI SaaS Builder学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 AI SaaS Builderコースには全4レッスンが含まれています。
AIリクエストを制限する理由
AIエンドポイントは遅く、コストも高くなります。制限がなければ、少数のユーザー(またはバグ)によって予算を使い果たしたり、サービスがクラッシュしたりする可能性があります。
- コストを管理する
- 安定性を守る
- 公平性を確保する
レート制限の基本
レート制限は、一定の時間枠内にクライアントが送信できるリクエスト数の上限です。たとえば、1分あたり60リクエストなどです。
トークンバケットアルゴリズム
トークンバケットは、時間の経過に応じてトークンを補充します。リクエストごとにトークンを1つ消費し、バケットが空の場合は拒否するか、待機させます。
class TokenBucket:
def __init__(self, capacity, refill_per_sec):
self.capacity = capacity
self.tokens = capacity
self.refill = refill_per_sec
def allow(self):
if self.tokens >= 1:
self.tokens -= 1
return True
return Falseユーザー単位の制限とグローバル制限
公平性のためにユーザー単位の制限を適用し、システム全体とプロバイダーのクォータを守るためにグローバルな上限も設定しましょう。
429を返す
クライアントが制限を超えた場合は、HTTP 429 Too Many RequestsとRetry-Afterヘッダーを返します。
res.status(429)
.set('Retry-After', '30')
.json({ error: 'rate_limited' })時間のかかるジョブをキューに入れる理由
AIの生成には数秒かかることがあります。HTTP接続を保持し続けるとリソースを無駄にします。キューを使えば、ジョブを受け付けて非同期に処理できます。
ジョブキューパターン
リクエストを受け付け、ジョブをキューに追加し、ジョブIDをすぐに返します。ワーカーがジョブを取り出し、AI呼び出しを実行します。
POST /generate -> { jobId: 'abc123', status: 'queued' }
# worker processes job
GET /jobs/abc123 -> { status: 'done', result: ... }バックプレッシャー
キューが長くなりすぎたら、バックプレッシャーを適用します。新しい低優先度の処理を拒否するか、ユーザーに遅延を知らせ、処理を黙って積み上げないようにしましょう。
ワーカーの同時実行数を制限する
プロバイダーの制限を守り、レイテンシーを予測しやすくするため、同時に実行するAI呼び出しの数に上限を設けましょう。
# worker config
MAX_CONCURRENT_AI_CALLS = 5バックオフ付きの再試行
AIプロバイダーでは、一時的な障害やレート制限が発生することがあります。一時的なエラーには指数バックオフで再試行しますが、ループを避けるため試行回数に上限を設けてください。
delay = base * (2 ** attempt) # 1s, 2s, 4s, 8s ...可観測性
キューの深さ、拒否率、平均レイテンシーを追跡しましょう。メトリクスから、ワーカーを増やすべきタイミングや制限を厳しくすべきタイミングがわかります。
クイックチェック
スケーリングに関する知識を確認しましょう。
振り返り
レート制限(トークンバケット、ユーザー単位、グローバル)でAIバックエンドを保護し、429レスポンスを返し、遅い処理をジョブキューに移し、バックプレッシャーと同時実行数制限を適用し、バックオフ付きで再試行し、キューの健全性を監視する方法を学びました。
AI チューターと学ぶ AI SaaS Builder — 無料
ブラウザでリアルコードを書いて実行し、24/7 の AI チューターから瞬時にサポートを受け、ウェブまたはアプリで続きから学習できます。
- コース
- 12
- レッスン
- 47
よくある質問
「AIリクエストのレート制限とキューイング」レッスンは無料ですか?
はい。「AIリクエストのレート制限とキューイング」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、AI SaaS Builderコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 AI SaaS Builderコースには全4レッスンが含まれています。
「AIリクエストのレート制限とキューイング」で何を学びますか?
レート制限、リクエストキュー、適切なバックプレッシャーを使い、AI SaaSのバックエンドを過負荷や予想外のコスト増から守る方法を学びます。 ブラウザで直接実行するハンズオンコードでAI SaaS Builderを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
AI SaaS Builderを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのAI SaaS Builderは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン4/4です。
「AIリクエストのレート制限とキューイング」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このAI SaaS Builderレッスンでコードを書いて実行できますか?
はい。すべてのAI SaaS Builderレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- RESTful APIの設計
- SaaSのデータベース管理
- ユーザー認証と認可
- AIリクエストのレート制限とキューイング