Criar a sua primeira aplicação do Azure Service Fabric

O Service Fabric disponibiliza SDKs para criar serviços no Linux em .NET Core e Java. Neste tutorial, vamos ver como pode criar uma aplicação para Linux e compilar um serviço com C# no .NET Core 2.0.

Pré-requisitos

Antes de começar, certifique-se de que configurou o seu ambiente de desenvolvimento do Linux. Se você usa o macOS X, pode configurar um ambiente Linux one-box em uma máquina virtual usando o Vagrant.

Você também deseja instalar a CLI do Service Fabric

Instalar e configurar os geradores para C#

O Service Fabric fornece ferramentas estruturais que o ajudam a criar aplicações do Service Fabric a partir de um terminal com os geradores de modelos Yeoman. Siga estes passos para configurar os geradores de modelos Yeoman do Service Fabric para C#:

  1. Instalar nodejs e NPM no seu computador

    curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.0/install.sh | bash 
    nvm install node 
    
  2. Instalar o gerador de modelos Yeoman no seu computador a partir do NPM

    npm install -g yo
    
  3. Instalar o gerador de aplicações C# Yeoman do Service Fabric a partir do NPM

    npm install -g generator-azuresfcsharp
    

Criar a aplicação

Uma aplicação de Service Fabric pode conter um ou mais serviços, cada um com uma função específica no fornecimento de funcionalidade da aplicação. O gerador Yeoman do Service Fabric para C#, que instalou no passo anterior, facilita a criação do seu primeiro serviço e a adição posterior de outros. Vamos utilizar o Yeoman para criar uma aplicação com um único serviço.

  1. Num terminal, escreva o seguinte comando para começar a criar a estrutura: yo azuresfcsharp

  2. Dê um nome à aplicação.

  3. Escolha o tipo do seu primeiro serviço e dê-lhe um nome. Para os objetivos deste tutorial, escolhemos um Serviço Reliable Actor.

    Gerador Yeoman do Service Fabric para C#

Criar a aplicação

Os modelos Yeoman do Service Fabric incluem um script de compilação que pode utilizar para criar a aplicação a partir do terminal (depois de navegar para a pasta da aplicação).

cd myapp
./build.sh

Implementar a aplicação

Depois de criada a aplicação, pode implementá-la no cluster local.

  1. Ligue ao cluster do Service Fabric local.

    sfctl cluster select --endpoint http://localhost:19080
    
  2. Execute o script de instalação fornecido no modelo para copiar o pacote de aplicação para o arquivo de imagens do cluster, registar o tipo de aplicação e criar uma instância da mesma.

    ./install.sh
    

A implementação da aplicação criada é igual à de qualquer outra aplicação do Service Fabric. Veja a documentação sobre como gerir uma aplicação do Service Fabric com a CLI do Service Fabric para obter instruções detalhadas.

Os parâmetros desses comandos encontram-se nos manifestos gerados dentro do pacote de aplicação.

Depois que o aplicativo for implantado, abra um navegador e navegue até o Service Fabric Explorer em http://localhost:19080/Explorer. Em seguida, expanda o nó Aplicativos e observe que agora há uma entrada para o tipo de aplicativo e outra para a primeira instância desse tipo.

Importante

Para implantar o aplicativo em um cluster Linux seguro no Azure, você precisa configurar um certificado para validar seu aplicativo com o tempo de execução do Service Fabric. Isso permite que seus serviços de Serviços Confiáveis se comuniquem com as APIs de tempo de execução subjacentes do Service Fabric. Para saber mais, consulte Configurar um aplicativo de Serviços Confiáveis para ser executado em clusters Linux.

Iniciar o cliente de teste e executar uma ativação pós-falha

Projetos de atores não fazem nada sozinhos. Precisam de outro serviço ou cliente que lhes envie mensagens. O modelo de ator inclui um script de teste simples, que pode utilizar para interagir com o serviço de ator.

  1. Execute o script com o utilitário watch para ver o resultado do serviço de ator.

    No caso do MAC OS X, você precisa copiar a pasta myactorsvcTestClient para o mesmo local dentro do contêiner executando os seguintes comandos adicionais.

    docker cp  [first-four-digits-of-container-ID]:/home
    docker exec -it [first-four-digits-of-container-ID] /bin/bash
    cd /home
    
    cd myactorsvcTestClient
    watch -n 1 ./testclient.sh
    
  2. No Service Fabric Explorer, localize o nó que aloja a réplica primária do serviço de ator. Na captura de ecrã, é o nó 3.

    Localizar a réplica primária no Service Fabric Explorer

  3. Clique no nó que localizou no passo anterior e selecione Desativar (reiniciar), no menu Ações. Esta ação reinicia um nó no seu cluster local e força uma ativação pós-falha num réplica secundária em execução noutro nó. Quando realizar esta ação, tenha atenção à saída do cliente de teste e repare que o contador continua a aumentar, apesar da ativação pós-falha.

Adicionar mais serviços a uma aplicação existente

Para adicionar outro serviço a uma aplicação já criada com o yo, execute os seguintes passos:

  1. Altere o diretório para a raiz da aplicação existente. Por exemplo, cd ~/YeomanSamples/MyApplication, se MyApplication é a aplicação criada por Yeoman.
  2. Executar yo azuresfcsharp:AddService

Próximos passos