Para usar um back-end personalizado, faça referência a ele usando a set-backend-service
política. Essa política transforma a URL base de serviço de back-end padrão de uma solicitação de API de entrada em um back-end especificado, neste caso, o back-end do Service Fabric.
A set-backend-service
política pode ser útil com uma API existente para transformar uma solicitação de entrada em um back-end diferente do 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 da API, deixe a URL do serviço Web em branco.
Adicione um sufixo de URL de API, como malha.
Adicionar operação GET à API
Conforme mostrado em Implantar um serviço back-end do Service Fabric, o exemplo de serviço ASP.NET Core implantado no cluster do Service Fabric oferece suporte a uma única operação HTTP GET no caminho /api/values
da URL.
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 criou no passo anterior.
Selecione + Adicionar Operação.
Na janela Frontend, insira os seguintes valores e selecione Salvar.
Definição |
valor |
Nome a apresentar |
Back-end de teste |
URL |
GET |
URL |
/api/values |
Adicione a set-backend-service
política à 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>
Adicione a declaração de set-service-backend
política.
No backend-id
, substitua o nome do back-end do Service Fabric.
O sf-resolve-condition
é uma condição para re-resolver um local de serviço e reenviar uma solicitação. O número de novas tentativas foi definido ao configurar o back-end. Por exemplo:
<set-backend-service backend-id="mysfbackend" sf-resolve-condition="@(context.LastError?.Reason == "BackendConnectionFailure")"/>
Selecione Guardar.
Nota
Se um ou mais nós no cluster do Service Fabric ficarem inativos ou forem removidos, 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")"
API de back-end de teste