Para usar um back-end personalizado, faça referência a ele usando a política set-backend-service
. Essa política transforma a URL base do serviço de back-end padrão de uma solicitação de API de entrada para um back-end especificado, nesse caso, o back-end do Service Fabric.
A política set-backend-service
pode ser útil com uma API existente para transformar uma solicitação de entrada em um back-end diferente daquele especificado nas configurações da API. Para fins de demonstração neste artigo, crie uma API de teste e defina a política para direcionar solicitações de API para o back-end do Service Fabric.
Criar API
Siga as etapas em Adicionar uma API manualmente para criar uma API em branco.
Nas configurações de API, deixe a URL do serviço Web em branco.
Adicione um Sufixo da URL da API, como malha.
Adicionar a operação GET à API
Conforme mostrado em Implantar um serviço de back-end do Service Fabric, o serviço ASP.NET Core de exemplo implantado no cluster do Service Fabric dá suporte a uma única operação GET de HTTP no caminho da URL /api/values
.
A resposta padrão nesse caminho é uma matriz JSON de duas cadeias de caracteres:
["value1", "value2"]
Para testar a integração do Gerenciamento de API com o cluster, adicione a operação GET correspondente à API no caminho /api/values
:
Selecione a API que você criou na etapa anterior.
Selecione + Adicionar Operação.
Na janela Front-end, insira os valores a seguir e selecione Salvar.
Configuração |
Valor |
Nome de exibição |
Testar o back-end |
URL |
GET |
URL |
/api/values |
Adicione a política set-backend-service
à API de teste.
Na guia Design, na seção Processamento de entrada, selecione o ícone do editor de códigos (</>).
Posicione o cursor dentro do elemento de <entrada>
Adicionar set-service-backend
instrução da política.
Em backend-id
, substitua o nome do back-end do Service Fabric.
O sf-resolve-condition
é uma condição para resolver novamente um local de serviço e reenviar uma solicitação. O número de repetições foi definido ao configurar o back-end. Por exemplo:
<set-backend-service backend-id="mysfbackend" sf-resolve-condition="@(context.LastError?.Reason == "BackendConnectionFailure")"/>
Clique em Salvar.
Observação
Se um ou mais nós no cluster de Service Fabric falhar ou for removido, o gerenciamento de API não receberá uma notificação automática e continuará a enviar tráfego para esses nós. Para lidar com esses casos, configure uma condição de resolução semelhante a: sf-resolve-condition="@((int)context.Response.StatusCode != 200 || context.LastError?.Reason == "BackendConnectionFailure" || context.LastError?.Reason == "Timeout")"
Testar a API do back-end