Modelar um aplicativo no Malha do Serviço
Este artigo fornece uma visão geral do modelo de aplicativo do Azure Service Fabric e descreve como definir um aplicativo e um serviço por meio de arquivos de manifesto.
Entenda o modelo de aplicativo
Um aplicativo é uma coleção de serviços membros que executam determinadas 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 de código, configuração e dados. Para cada serviço, o código consiste em binários executáveis, a configuração consiste em configurações do 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 nesse modelo hierárquico de aplicativo pode ser atualizado e transformado em outra versão independentemente.
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 núcleo permanece a mesma. As instâncias de um serviço são as diferentes variações de configuração de serviço de um mesmo tipo de serviço.
Classes (ou "tipos") de aplicativos e serviços são descritas por meio de arquivos XML (manifestos de aplicativo e manifestos do serviço). Os manifestos descrevem aplicativos e serviços, e são os modelos de aplicativos que poderão ser instanciados a partir do repositório de imagens do cluster. Manifestos são abordados detalhadamente em Manifestos de aplicativos e serviços. A definição de esquema dos arquivos 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 é documentado em documentação do esquema ServiceFabricServiceModel.xsd.
O código para instâncias de aplicativo diferentes será executado como processos separados, mesmo quando hospedadas pelo mesmo nó do Service Fabric. Além disso, o ciclo de vida de cada instância do 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, somente os pacotes de código/configuração/dados de ServiceType4
são mostrados, embora cada tipo de serviço inclua alguns ou todos os tipos de pacote.
Pode haver uma ou mais instâncias de um tipo de serviço ativo no cluster. Por exemplo, instâncias de serviço com estado, ou réplicas, alcançam alta confiabilidade replicando o estado entre as réplicas localizadas em diferentes nós do cluster. Essencialmente a replicação 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) pelos nós do cluster.
O diagrama a seguir mostra a relação entre aplicativos e instâncias de serviço, partições e réplicas.
Dica
É possível 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 o cluster com o Service Fabric Explorer.
Próximas etapas
- Saiba mais sobre escalabilidade de aplicativo.
- Saiba mais sobre estado, particionamento e disponibilidade de serviços.
- Leia sobre como os aplicativos e serviços são definidos em Manifestos de aplicativos e serviços.
- Os modelos de hospedagem de aplicativo descrevem a relação entre réplicas (ou instâncias) de um serviço implantado e o processo de host do serviço.