Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Este artigo mostra como configurar um serviço do Service Fabric como um back-end de API personalizado usando o portal do Azure. Para fins de demonstração, ele mostra como configurar um serviço básico sem estado ASP.NET Core Reliable Service como back-end do Service Fabric.
Para obter plano de fundo, consulte Backends no Gerenciamento de API.
Pré-requisitos
Pré-requisitos para configurar um serviço de exemplo em um cluster do Service Fabric executando o Windows como um back-end personalizado:
Ambiente de desenvolvimento do Windows - Instale o Visual Studio 2019 e as cargas de trabalho de desenvolvimento multiplataforma do Azure de desenvolvimento, ASP.NET e Web e .NET Core. Em seguida, configure um ambiente de desenvolvimento .NET.
Cluster do Service Fabric - Consulte Tutorial: Implantar um cluster do Service Fabric executando o Windows em uma rede virtual do Azure. Você pode criar um cluster com um certificado X.509 existente ou, para fins de teste, criar um novo certificado autoassinado. O cluster é criado em uma rede virtual.
Aplicativo de exemplo do Service Fabric - Crie um aplicativo de API Web e implante no cluster do Service Fabric conforme descrito em Integrar o Gerenciamento de API com o Service Fabric no Azure.
Estas etapas criam um serviço confiável básico sem monitoração de estado ASP.NET Core usando o modelo de projeto de API da Web padrão. Mais tarde, você expõe o ponto de extremidade HTTP para este serviço por meio do Gerenciamento de API do Azure.
Anote o nome do aplicativo, por exemplo
fabric:/myApplication/myService
.Instância de Gerenciamento de API - Uma instância de Gerenciamento de API existente ou nova na camada Premium ou Developer e na mesma região do cluster do Service Fabric. Se precisar de uma, crie uma instância de Gerenciamento de API.
Rede virtual - Adicione sua instância de Gerenciamento de API à rede virtual criada para o cluster do Service Fabric. O Gerenciamento de API requer uma sub-rede dedicada na rede virtual.
Para conhecer as etapas para habilitar a conectividade de rede virtual para a instância de Gerenciamento de API, consulte Como usar o Gerenciamento de API do Azure com redes virtuais.
Criar back-end - portal
Adicionar certificado de cluster do Service Fabric ao Gerenciamento de API
O certificado de cluster do Service Fabric é armazenado e gerenciado em um cofre de chaves do Azure associado ao cluster. Adicione este certificado à sua instância de Gerenciamento de API como um certificado de cliente.
Para conhecer as etapas para adicionar um certificado à sua instância de Gerenciamento de API, consulte Como proteger serviços de back-end usando a autenticação de certificado de cliente no Gerenciamento de API do Azure.
Nota
Recomendamos adicionar o certificado ao Gerenciamento de API fazendo referência ao certificado do cofre de chaves.
Adicionar back-end do Service Fabric
No portal do Azure, navegue até sua instância de Gerenciamento de API.
Em APIs, selecione Backends>+ Add.
Insira um nome de back-end e uma descrição opcional
Em Tipo, selecione Service Fabric.
Em URL de tempo de execução, insira o nome do serviço de back-end do Service Fabric para o qual o Gerenciamento de API encaminhará solicitações. Exemplo:
fabric:/myApplication/myService
.Em Número máximo de tentativas de resolução de partição, insira um número entre 0 e 10.
Insira o ponto de extremidade de gerenciamento do cluster do Service Fabric. Este ponto de extremidade é a URL do cluster na porta
19080
, por exemplo,https://mysfcluster.eastus.cloudapp.azure.com:19080
.Em Certificado de cliente, selecione o certificado de cluster do Service Fabric que você adicionou à sua instância de Gerenciamento de API na seção anterior.
Em Método de autorização de ponto de extremidade de gerenciamento, insira uma impressão digital ou o nome X509 do servidor de um certificado usado pelo serviço de gerenciamento de cluster do Service Fabric para comunicação TLS.
Habilite as configurações Validar cadeia de certificados e Validar nome de certificado.
Em Credenciais de autorização, forneça credenciais, se necessário, para acessar o serviço de back-end configurado no Service Fabric. Para o aplicativo de exemplo usado nesse cenário, as credenciais de autorização não são necessárias.
Selecione Criar.
Usar o back-end
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
Configurar set-backend-service
política
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
Na guia Teste, selecione a operação GET criada em uma seção anterior.
Selecione Enviar.
Quando configurada corretamente, a resposta HTTP mostra um código de sucesso HTTP e exibe o JSON retornado do serviço de back-end Service Fabric.