マルチサプライヤー ゲートウェイの背後にあるアーキテクチャ: ヘルス チェック、サーキット ブレーカー、スタンバイ ウォーム プール、および劣化ポリシー。
各プロバイダーの稼働率が約 99.9% でも、全体で 99.99% を実現できるのは宣伝文句ではありません。障害の影響範囲を分離し、頻繁にヘルスチェックを行い、1 桁ミリ秒で判断するルーティング層を組み合わせた結果です。
健康診断
すべてのアップストリーム エンドポイントは、ステータス ページではなく実際の推論パスを実行する合成リクエストを使用して、2 秒ごとにプローブされます。 p50 および p99 の遅延、エラー率、応答の構造的妥当性を追跡します。プロバイダーは、エラーを返し始める前に劣化のマークが付けられます。遅延ドリフトが最も早い信号です。
サーキットブレーカー
- クローズド: 通常のルーティング、すべてのトラフィック フロー
- ハーフオープン: トラフィック プローブの 5% が回復し、残りはスタンバイにルーティングされます
- オープン: 交通量なし。 30 の連続した正常なプローブの後にのみ再開される
ウォーム スタンバイ プール
コールド フェイルオーバーでは、新しい接続の最初のトークンの遅延に加えて、プロバイダー側のコールド スタートのコストがかかります。すべてのスタンバイに対して永続的な接続を開いたままにし、新しいターゲットに対して実行中のリクエストを再実行するため、クライアントにはエラーではなく単一の遅い応答が表示されます。
最良のフェイルオーバーとは、ユーザーが決して気付かないフェイルオーバーです。ルーティング層からの追加遅延の中央値は 4ms 未満です。完全フェイルオーバー イベントにより、影響を受けるリクエストに 180-400ms が追加されます。
劣化ポリシー
同等の正常なモデルがない場合は、より安価な層にフォールバックするか、古いキャッシュ エントリを提供するか、フェイルファストするか、選択することができます。エージェントのワークロードでは、デフォルトでフェイルファストを選択するのが正直な選択です。エージェントのワークロードでは、悪い応答の方が応答がないよりもコストが高くなります。