Cloud-native API Gateway, başarısız istekleri otomatik olarak yeniden denemek için rota düzeyinde yeniden deneme ilkelerini destekler. Bağlantı hatalarına, kullanılamayan arka uç hizmetlerine veya belirli HTTP durum kodlarına göre yeniden deneme koşullarını yapılandırabilirsiniz.
Yeniden deneme koşulları
Arka uç hizmeti bir 5xx hatası döndürdüğünde, Cloud-native API Gateway isteği yapılandırılan sayıya kadar otomatik olarak yeniden dener.
-
HTTP protokolü için yeniden deneme koşulları:
-
5xx: Arka uç hizmeti bir
5xxyanıtı döndürür veya bir okuma işlemi sırasında bağlantı kesilir, sıfırlanır ya da zaman aşımına uğrar.Not5xxkoşulu,connect-failureverefused-streamkoşullarını içerir. reset: Bir okuma işlemi sırasında bağlantı kesilir, sıfırlanır veya zaman aşımına uğrar.
connect-failure: Bağlantı koptuğu için bir istek başarısız olur.
refused-stream: Arka uç hizmeti, bir akışı
REFUSED_STREAMhata koduyla sıfırlar.-
retriable-status-codes: Yanıttaki HTTP durum kodu, belirtilen bir yeniden deneme durum koduyla eşleşir.
NotYeniden deneme durum kodlarını yalnızca yeniden deneme koşulunda
retriable-status-codesbelirtildiğinde kullanabilirsiniz.
-
-
gRPC protokolü için yeniden deneme koşulları:
cancelled: Yanıt başlığındaki gRPC durum kodu
cancelleddeğerindedir.deadline-exceeded: Yanıt başlığındaki gRPC durum kodu
deadline-exceededdeğerindedir.internal: Yanıt başlığındaki gRPC durum kodu
internaldeğerindedir.resource-exhausted: Yanıt başlığındaki gRPC durum kodu
resource-exhausteddeğerindedir.unavailable: Yanıt başlığındaki gRPC durum kodu
unavailabledeğerindedir.
Rota yeniden deneme ilkesi yapılandırma
-
API'nizin nasıl yönetildiğine bağlı olarak iki şekilde yeniden deneme ilkesi yapılandırabilirsiniz:
Instance dışındaki API
Cloud-native API Gateway konsolu üzerinden oturum açın. Sol gezinme bölmesinde API öğesine tıklayın ve ardından üst menü çubuğundan bir bölge seçin.
HTTP API sayfasında, üstteki açılır listeyi kullanarak hedef instance'ı seçin. Belirli bir instance'ı veya All instances seçeneğini belirleyebilirsiniz.
Routes bölümünde hedef rotayı tıklayın.
Instance içindeki API
Cloud-native API Gateway konsolu üzerinden oturum açın. Sol gezinme bölmesinde Instance öğesine tıklayın ve ardından üst menü çubuğundan bir bölge seçin.
Instance sayfasında hedef ağ geçidi instance'ını tıklayın. Sol gezinme bölmesinde API öğesine tıklayın ve ardından hedef API'yi seçin.
Routes bölümünde hedef rotayı tıklayın.
Configure Policy sekmesine tıklayın. Inbound Processing bölümünde Enable Policy/Plug-in seçeneğine tıklayın.
-
Retry kartına tıklayın. Add Policy: Retry panelinde parametreleri yapılandırın ve Add düğmesine tıklayın.
NotYeniden deneme ilkesini yapılandırdıktan ve etkinleştirdikten sonra beklendiği gibi çalıştığını doğrulayın.
Parametre
Açıklama
Enable
Yeniden deneme ilkesini etkinleştirir veya devre dışı bırakır.
-
Enabled: Yeniden deneme ilkesi etkindir.
-
Disabled: Yeniden deneme ilkesi devre dışıdır.
NotBu ilke devre dışı bırakılırsa ağ geçidi varsayılan bir yeniden deneme yapılandırması kullanır. Varsayılan yeniden deneme sayısı 2'dir ve varsayılan yeniden deneme koşulları şunlardır:
connect-failure,refused-stream,unavailable,cancelledveretriable-status-codes.Retry Times
Başarısız bir istek için maksimum yeniden deneme sayısı. Geçerli değerler: 0 ile 10. 2 veya daha düşük bir değer önerilir.
Not0 değeri yeniden denemeleri devre dışı bırakır.
Retry Condition
Yeniden denemeyi tetikleyen koşullar. Birden fazla koşul seçebilirsiniz. Daha fazla bilgi için bkz. Yeniden deneme koşulları.
Retry Status Code
Yeniden denemeyi tetikleyen HTTP durum kodları. Birden fazla kod belirtebilirsiniz.
NotRetry Status Code parametresini yalnızca Retry Condition için
retriable-status-codesseçildiğinde yapılandırabilirsiniz. -