Compartilhar via


Modelar um aplicativo no Service Fabric

Este artigo fornece uma visão geral do modelo de aplicativo do Azure Service Fabric e como definir um aplicativo e serviço por meio de arquivos de manifesto.

Compreender o modelo de aplicação

Uma aplicação é um conjunto de serviços constituintes que desempenham uma determinada função ou funções. Um serviço executa uma função completa e independente e pode iniciar e executar independentemente de outros serviços. Um serviço é composto de código, configuração e dados. Para cada serviço, o código consiste nos binários executáveis, a configuração consiste em configurações de serviço que podem ser carregadas em tempo de execução e os dados consistem em dados estáticos arbitrários a serem consumidos pelo serviço. Cada componente neste modelo de aplicativo hierárquico pode ser versionado e atualizado independentemente.

O modelo de aplicativo do Service Fabric

Um tipo de aplicativo é uma categorização de um aplicativo e consiste em um pacote de tipos de serviço. Um tipo de serviço é uma categorização de um serviço. A categorização pode ter diferentes definições e configurações, mas a funcionalidade principal permanece a mesma. As instâncias de um serviço são as diferentes variações de configuração de serviço do mesmo tipo de serviço.

As classes (ou "tipos") de aplicativos e serviços são descritas por meio de arquivos XML (manifestos de aplicativos e manifestos de serviço). Os manifestos descrevem aplicativos e serviços e são os modelos em relação aos quais os aplicativos podem ser instanciados a partir do armazenamento de imagens do cluster. Os manifestos são abordados em detalhes em Manifestos de aplicativo e serviço. A definição de esquema para o arquivo ServiceManifest.xml e ApplicationManifest.xml é instalada com o SDK e as ferramentas do Service Fabric para C:\Arquivos de Programas\Microsoft SDKs\Service Fabric\schemas\ServiceFabricServiceModel.xsd. O esquema XML está documentado na documentação do esquema ServiceFabricServiceModel.xsd.

O código para diferentes instâncias de aplicativo é executado como processos separados, mesmo quando hospedado pelo mesmo nó do Service Fabric. Além disso, o ciclo de vida de cada instância de aplicativo pode ser gerenciado (por exemplo, atualizado) independentemente. O diagrama a seguir mostra como os tipos de aplicativo são compostos de tipos de serviço, que, por sua vez, são compostos de código, configuração e pacotes de dados. Para simplificar o diagrama, apenas os pacotes de código/config/dados para ServiceType4 são mostrados, embora cada tipo de serviço inclua alguns ou todos esses tipos de pacote.

Tipos de aplicativos e tipos de serviço do Service Fabric

Pode haver uma ou mais instâncias de um tipo de serviço ativo no cluster. Por exemplo, as instâncias de serviço com monitoração de estado, ou réplicas, alcançam alta confiabilidade replicando o estado entre réplicas localizadas em nós diferentes no cluster. A replicação essencialmente fornece redundância para que o serviço esteja disponível mesmo se um nó em um cluster falhar. Um serviço particionado divide ainda mais seu estado (e padrões de acesso a esse estado) entre nós no cluster.

O diagrama a seguir mostra a relação entre aplicativos e instâncias de serviço, partições e réplicas.

Partições e réplicas dentro de um serviço

Gorjeta

Você pode exibir o layout de aplicativos em um cluster usando a ferramenta Service Fabric Explorer disponível em http://< yourclusteraddress>:19080/Explorer. Para obter mais informações, consulte Visualizando seu cluster com o Service Fabric Explorer.

Próximos passos

  • Saiba mais sobre a escalabilidade do aplicativo.
  • Saiba mais sobre o estado do serviço, particionamento e disponibilidade.
  • Leia sobre como os aplicativos e serviços são definidos em Manifestos de aplicativos e serviços.
  • Os modelos de hospedagem de aplicativos descrevem a relação entre réplicas (ou instâncias) de um serviço implantado e o processo de host de serviço.