O Cloud-native API Gateway oferece suporte a políticas de nova tentativa no nível de rota para repetir automaticamente solicitações com falha. É possível configurar condições de nova tentativa com base em falhas de conexão, indisponibilidade de services de backend ou códigos de status HTTP específicos.
Condições de nova tentativa
Quando um service de backend retorna um erro 5xx, o Cloud-native API Gateway repete a solicitação automaticamente até o número máximo de vezes configurado.
-
Condições de nova tentativa para o protocolo HTTP:
-
5xx: O service de backend retorna uma resposta
5xxou ocorre desconexão, redefinição ou tempo limite de conexão durante uma operação de leitura.NotaA condição
5xxinclui as condiçõesconnect-failureerefused-stream. reset: A conexão é desconectada, redefinida ou atinge o tempo limite durante uma operação de leitura.
connect-failure: A solicitação falha devido à desconexão da conexão.
refused-stream: O service de backend redefine um stream com o código de erro
REFUSED_STREAM.-
retriable-status-codes: O código de status HTTP na resposta corresponde a um código de status de nova tentativa especificado.
NotaOs códigos de status de nova tentativa só podem ser utilizados se
retriable-status-codesestiver especificado na condição de nova tentativa.
-
-
Condições de nova tentativa para o protocolo gRPC:
cancelled: O código de status gRPC no cabeçalho da resposta é
cancelled.deadline-exceeded: O código de status gRPC no cabeçalho da resposta é
deadline-exceeded.internal: O código de status gRPC no cabeçalho da resposta é
internal.resource-exhausted: O código de status gRPC no cabeçalho da resposta é
resource-exhausted.unavailable: O código de status gRPC no cabeçalho da resposta é
unavailable.
Configure uma política de nova tentativa de rota
-
Existem duas formas de configurar uma política de nova tentativa, dependendo de como sua API é gerenciada:
API fora de uma instância
Faça login no console do Cloud-native API Gateway. No painel de navegação à esquerda, clique em API e selecione uma região na barra de menu superior.
Na página HTTP API, utilize a lista suspensa na parte superior para selecionar a instância de destino. Selecione uma instância específica ou All instances.
Em Routes, clique em a rota desejada.
API dentro de uma instância
Faça login no console do Cloud-native API Gateway. No painel de navegação à esquerda, clique em Instance e selecione uma região na barra de menu superior.
Na página Instance, clique em a instância de gateway desejada. No painel de navegação à esquerda, clique em API e, em seguida, clique em a API alvo.
Em Routes, clique em a rota desejada.
Clique em a aba Configure Policy. Na seção Inbound Processing, clique em Enable Policy/Plug-in.
-
Clique em o cartão Retry. No painel Add Policy: Retry, configure os parâmetros e clique em Add.
NotaApós configurar e ativar a política de nova tentativa, verifique se ela funciona conforme o esperado.
Parâmetro
Descrição
Enable
Ativa ou desativa a política de nova tentativa.
-
Enabled: A política de nova tentativa está ativa.
-
Disabled: A política de nova tentativa está inativa.
NotaSe esta política estiver desativada, o gateway utiliza uma configuração padrão de nova tentativa. O número padrão de tentativas é 2, e as condições padrão são
connect-failure,refused-stream,unavailable,cancellederetriable-status-codes.Retry Times
Número máximo de novas tentativas para uma solicitação com falha. Valores válidos: 0 a 10. Recomenda-se um valor igual ou inferior a 2.
NotaO valor 0 desativa as novas tentativas.
Retry Condition
Condições que acionam uma nova tentativa. É possível selecionar múltiplas condições. Para mais informações, consulte Retry conditions.
Retry Status Code
Códigos de status HTTP que acionam uma nova tentativa. É possível especificar vários códigos.
NotaO parâmetro Retry Status Code só pode ser configurado se
retriable-status-codesestiver selecionado em Retry Condition. -