Modelar uma aplicação no Service Fabric

Este artigo fornece uma descrição geral do modelo de aplicação do Azure Service Fabric e como definir uma aplicação e um serviço através de ficheiros de manifesto.

Compreender o modelo de aplicação

Uma aplicação é uma coleção de serviços constituintes que executam uma determinada função ou funções. Um serviço executa uma função completa e autónoma e pode iniciar e executar independentemente de outros serviços. Um serviço é composto por código, configuração e dados. Para cada serviço, o código consiste nos binários executáveis, a configuração consiste em definições de serviço que podem ser carregadas no 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 aplicação hierárquica pode ser versado e atualizado de forma independente.

O modelo de aplicação do Service Fabric

Um tipo de aplicação é uma categorização de uma aplicação e consiste num conjunto de tipos de serviço. Um tipo de serviço é uma categorização de um serviço. A categorização pode ter definições e configurações diferentes, 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 aplicações e serviços são descritas através de ficheiros XML (manifestos de aplicação e manifestos de serviço). Os manifestos descrevem aplicações e serviços e são os modelos nos quais as aplicações podem ser instanciadas a partir do arquivo de imagens do cluster. Os manifestos são abordados em detalhe nos manifestos da Aplicação e do serviço. A definição de esquema para o ficheiro ServiceManifest.xml e ApplicationManifest.xml é instalada com o SDK do Service Fabric e as ferramentas para C:\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 aplicação é executado como processos separados, mesmo quando alojados pelo mesmo nó do Service Fabric. Além disso, o ciclo de vida de cada instância de aplicação pode ser gerido (por exemplo, atualizado) de forma independente. O diagrama seguinte mostra como os tipos de aplicação são compostos por tipos de serviço, que por sua vez são compostos por código, configuração e pacotes de dados. Para simplificar o diagrama, apenas os pacotes de código/configuração/dados para ServiceType4 são apresentados, embora cada tipo de serviço inclua alguns ou todos esses tipos de pacote.

Tipos de aplicações e tipos de serviço do Service Fabric

Pode haver uma ou mais instâncias de um tipo de serviço ativas no cluster. Por exemplo, as instâncias de serviço com monitorização de estado ou réplicas alcançam uma elevada fiabilidade ao replicar o estado entre réplicas localizadas em nós diferentes no cluster. Essencialmente, a replicação proporciona redundância para que o serviço esteja disponível mesmo que um nó num cluster falhe. Um serviço particionado divide ainda mais o seu estado (e padrões de acesso a esse estado) entre nós no cluster.

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

Partições e réplicas num serviço

Dica

Pode ver o esquema de aplicações num cluster com a ferramenta de Service Fabric Explorer disponível em http://< ouclusteraddress>:19080/Explorer. Para obter mais informações, veja Visualizar o cluster com Service Fabric Explorer.

Passos seguintes