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 ficheiro ServiceManifest.xml e ApplicationManifest.xml é instalada com o SDK e as ferramentas do Service Fabric em 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 estado, ou réplicas, alcançam alta fiabilidade por replicar o estado entre as 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

Sugestão

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