Partilhar via


Implementar um executável existente no Service Fabric

Pode executar qualquer tipo de código, como Node.js, Java ou C++ no Azure Service Fabric como um serviço. O Service Fabric refere-se a estes tipos de serviços como executáveis convidados.

Os executáveis convidados são tratados pelo Service Fabric como serviços sem estado. Como resultado, são colocados em nós num cluster, com base na disponibilidade e noutras métricas. Este artigo descreve como empacotar e implementar um executável convidado num cluster do Service Fabric com o Visual Studio ou um utilitário de linha de comandos.

Nota

Um cluster do Service Fabric é um inquilino único por design e as aplicações alojadas são consideradas fidedignas. Se estiver a considerar alojar aplicações não fidedignos, veja Alojamento de aplicações não fidedignos num cluster do Service Fabric.

Benefícios da execução de um executável convidado no Service Fabric

Existem várias vantagens em executar um executável convidado num cluster do Service Fabric:

  • Elevada disponibilidade. As aplicações executadas no Service Fabric são disponibilizadas de forma elevada. O Service Fabric garante que as instâncias de uma aplicação estão em execução.
  • Monitorização do estado de funcionamento. A monitorização do estado de funcionamento do Service Fabric deteta se uma aplicação está em execução e fornece informações de diagnóstico se ocorrer uma falha.
  • Gestão do ciclo de vida da aplicação. Além de fornecer atualizações sem tempo de inatividade, o Service Fabric fornece uma reversão automática para a versão anterior se existir um evento de mau estado de funcionamento comunicado durante uma atualização.
  • Densidade. Pode executar várias aplicações num cluster, o que elimina a necessidade de cada aplicação ser executada no seu próprio hardware.
  • Deteção: ao utilizar o REST, pode chamar o serviço de Nomenclatura do Service Fabric para encontrar outros serviços no cluster.

Amostras

Descrição geral dos ficheiros de manifesto de aplicação e serviço

Como parte da implementação de um executável convidado, é útil compreender o modelo de empacotamento e implementação do Service Fabric, conforme descrito no modelo de aplicação. O modelo de empacotamento do Service Fabric baseia-se em dois ficheiros XML: os manifestos da aplicação e do serviço. A definição de esquema para os ficheiros ApplicationManifest.xml e ServiceManifest.xml é instalada com o SDK do Service Fabric em C:\Program Files\Microsoft SDKs\Service Fabric\schemas\ServiceFabricServiceModel.xsd.

  • Manifesto da aplicação O manifesto da aplicação é utilizado para descrever a aplicação. Lista os serviços que o compõem e outros parâmetros que são utilizados para definir como um ou mais serviços devem ser implementados, como o número de instâncias.

    No Service Fabric, uma aplicação é uma unidade de implementação e atualização. Uma aplicação pode ser atualizada como uma única unidade onde são geridas potenciais falhas e potenciais reversões. O Service Fabric garante que o processo de atualização é bem-sucedido ou, se a atualização falhar, não deixa a aplicação num estado desconhecido ou instável.

  • Manifesto de serviço O manifesto de serviço descreve os componentes de um serviço. Inclui dados, como o nome e o tipo de serviço, e o respetivo código e configuração. O manifesto de serviço também inclui alguns parâmetros adicionais que podem ser utilizados para configurar o serviço assim que for implementado.

Estrutura de ficheiros do pacote de aplicações

Para implementar uma aplicação no Service Fabric, a aplicação deve seguir uma estrutura de diretório predefinida. Segue-se um exemplo dessa estrutura.

|-- ApplicationPackageRoot
    |-- GuestService1Pkg
        |-- Code
            |-- existingapp.exe
        |-- Config
            |-- Settings.xml
        |-- Data
        |-- ServiceManifest.xml
    |-- ApplicationManifest.xml

O ApplicationPackageRoot contém o ficheiro ApplicationManifest.xml que define a aplicação. Um subdiretório para cada serviço incluído na aplicação é utilizado para conter todos os artefactos de que o serviço necessita. Estes subdiretórios são os ServiceManifest.xml e, normalmente, os seguintes:

  • Código. Este diretório contém o código de serviço.
  • Configuração. Este diretório contém um ficheiro de Settings.xml (e outros ficheiros, se necessário) ao qual o serviço pode aceder no runtime para obter definições de configuração específicas.
  • Dados. Este é um diretório adicional para armazenar dados locais adicionais de que o serviço poderá precisar. Os dados devem ser utilizados para armazenar apenas dados efémeros. O Service Fabric não copia nem replica alterações ao diretório de dados se o serviço precisar de ser relocalizado (por exemplo, durante a ativação pós-falha).

Nota

Se não precisar deles, não tem de criar os config diretórios e data .

Passos seguintes

Veja os seguintes artigos para obter informações e tarefas relacionadas.