Cloud-native API Gateway admite políticas de reintentos a nivel de ruta para reintentar automáticamente las solicitudes con errores. Es posible configurar condiciones de reintento basadas en fallos de conexión, servicios de backend no disponibles o códigos de estado HTTP específicos.
Condiciones de reintento
Cuando un servicio de backend devuelve un error 5xx, Cloud-native API Gateway reintenta automáticamente la solicitud hasta el número máximo de veces configurado.
-
Condiciones de reintento para el protocolo HTTP:
-
5xx: El servicio de backend devuelve una respuesta
5xx, o bien se desconecta, restablece o agota el tiempo de espera de una conexión durante una operación de lectura.NotaLa condición
5xxincluye las condicionesconnect-failureyrefused-stream. reset: Se desconecta, restablece o agota el tiempo de espera de una conexión durante una operación de lectura.
connect-failure: Una solicitud falla porque la conexión se ha desconectado.
refused-stream: El servicio de backend restablece un stream con un código de error
REFUSED_STREAM.-
retriable-status-codes: El código de estado HTTP en la respuesta coincide con un código de estado de reintento especificado.
NotaSolo es posible usar códigos de estado de reintento si se especifica
retriable-status-codesen la condición de reintento.
-
-
Condiciones de reintento para el protocolo gRPC:
cancelled: El código de estado gRPC en el encabezado de respuesta es
cancelled.deadline-exceeded: El código de estado gRPC en el encabezado de respuesta es
deadline-exceeded.internal: El código de estado gRPC en el encabezado de respuesta es
internal.resource-exhausted: El código de estado gRPC en el encabezado de respuesta es
resource-exhausted.unavailable: El código de estado gRPC en el encabezado de respuesta es
unavailable.
Configurar una política de reintentos de ruta
-
Es posible configurar una política de reintentos de dos formas, según cómo se gestione su API:
API fuera de una instancia
Inicie sesión en la consola de Cloud-native API Gateway. En el panel de navegación izquierdo, haga clic en API y luego seleccione una región en la barra de menú superior.
En la página HTTP API, use la lista desplegable de la parte superior para seleccionar la instancia de destino. Puede seleccionar una instancia específica o All instances.
En Routes, haga clic en la ruta de destino.
API dentro de una instancia
Inicie sesión en la consola de Cloud-native API Gateway. En el panel de navegación izquierdo, haga clic en Instance y luego seleccione una región en la barra de menú superior.
En la página Instance, haga clic en la instancia de gateway de destino. En el panel de navegación izquierdo, haga clic en API y luego en la API de destino.
En Routes, haga clic en la ruta de destino.
Haga clic en la pestaña Configure Policy. En la sección Inbound Processing, haga clic en Enable Policy/Plug-in.
-
Haga clic en la tarjeta Retry. En el panel Add Policy: Retry, configure los parámetros y haga clic en Add.
NotaDespués de configurar y habilitar la política de reintentos, compruebe que funciona como se espera.
Parámetro
Descripción
Enable
Habilita o deshabilita la política de reintentos.
-
Enabled: La política de reintentos está activa.
-
Disabled: La política de reintentos está inactiva.
NotaSi esta política se encuentra deshabilitada, el gateway utiliza una configuración de reintentos predeterminada. El número predeterminado de reintentos es 2, y las condiciones de reintento predeterminadas son
connect-failure,refused-stream,unavailable,cancelledyretriable-status-codes.Retry Times
El número máximo de reintentos para una solicitud con errores. Valores válidos: de 0 a 10. Se recomienda un valor de 2 o menos.
NotaUn valor de 0 deshabilita los reintentos.
Retry Condition
Las condiciones que activan un reintento. Es posible seleccionar varias condiciones. Para obtener más información, consulte Retry conditions.
Retry Status Code
Los códigos de estado HTTP que activan un reintento. Es posible especificar varios códigos.
NotaSolo es posible configurar el parámetro Retry Status Code si se selecciona
retriable-status-codesen Retry Condition. -