AI Gateway の自動リトライで、上流のコケをそっとカバー!
やっほー、しぃちゃんだよ!今日は AI Gateway にちょっと嬉しい自動化が入ったから紹介するね。
Cloudflare Changelogなにが発表されたの?
Cloudflare の Changelog で、AI Gateway がゲートウェイのレベルで自動リトライに対応したって発表があったの。上流の AI プロバイダーがエラーを返したとき、あらかじめ設定したリトライポリシーに従ってゲートウェイ側が勝手に再送してくれる仕組みだよ。しかもクライアント側のコードは一切いじらなくていいんだって。
今までどうだったの?
これまでは、プロバイダーが一時的にコケたときのリトライ処理は基本的に呼び出し側で書く必要があったの。自分のアプリならまだしも、リクエストを投げてくるクライアントを自分でコントロールできない場面だと、リトライを差し込む余地がなくて困っちゃうよね。
これで何が変わるの?
リトライのロジックをゲートウェイに任せられるようになったよ。ゲートウェイを通る全リクエストに共通の再送ルールを効かせられるから、クライアント側を触れない状況でも失敗をしのげるの。原文でもこう言ってるよ。
This is particularly useful when you do not control the client making the request and cannot implement retry logic on the caller side.
深く潜ってみよう
設定できるのは主に 3 つ。リトライ回数は最大 5 回まで、リトライの間隔は 100ms から 5 秒まで、そしてバックオフ戦略は Constant(一定)・Linear(線形)・Exponential(指数)から選べるよ。これらはゲートウェイのデフォルトとして全リクエストに適用されるけど、リクエストごとのヘッダーで上書きもできるの。
もっと複雑な、プロバイダーをまたいだフェイルオーバーがしたいときは Dynamic Routing を使ってねって案内されてるよ。設定の手順は Manage gateways にまとまってるから、そっちも見てみてね。
まとめ
- AI Gateway がゲートウェイ単位の自動リトライに対応、クライアント側の変更は不要
- 設定できるのはリトライ回数(最大 5 回)・間隔(100ms〜5 秒)・バックオフ(Constant / Linear / Exponential)
- デフォルトは全リクエストに適用、リクエストごとのヘッダーで上書き可能
- プロバイダーをまたぐフェイルオーバーは Dynamic Routing の担当
自分でクライアントを制御できない API を AI Gateway 越しに提供している人に、そっと効いてくる小さな便利機能だよ。