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 estiver a utilizar o Mac OS X, pode configurar um ambiente de uma caixa do Linux numa máquina virtual com Vagrant.

Também vai querer 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.

Após a implementação da aplicação, abra um browser e navegue até Service Fabric Explorer em http://localhost:19080/Explorer. Em seguida, expanda o nó Aplicações e repare que há, agora, uma entrada para o tipo de aplicação e outra para a primeira instância desse tipo.

Importante

Para implementar a aplicação num cluster do Linux seguro no Azure, tem de configurar um certificado para validar a sua aplicação com o runtime do Service Fabric. Ao fazê-lo, permite que os seus serviços do Reliable Services comuniquem com as APIs de runtime do Service Fabric subjacentes. Para saber mais, veja Configurar uma aplicação reliable Services para ser executada em clusters do Linux.

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

Os projetos de ator não fazem nada só por si. 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, tem de copiar a pasta myactorsvcTestClient para a mesma localização dentro do contentor ao executar 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

Passos seguintes