Creare la prima applicazione di Azure Service Fabric

Service Fabric mette a disposizione SDK per la compilazione di servizi su Linux in .NET Core e Java. In questa esercitazione verrà esaminata la creazione di un'applicazione per Linux e la compilazione di un servizio con C# in .NET Core 2.0.

Prerequisiti

Prima di iniziare, assicurarsi di avere configurato l'ambiente di sviluppo di Linux. Se si usa Mac OS X è possibile configurare un ambiente con un solo computer Linux in una macchina virtuale usando Vagrant.

È consigliabile installare anche l'interfaccia della riga di comando di Service Fabric.

Installare e configurare i generatori per C#

Service Fabric offre gli strumenti di scaffolding che consentono di creare applicazioni Service Fabric dal terminale tramite i generatori di modelli Yeoman. Seguire questi passaggi per configurare i generatori di modelli Yeoman di Service Fabric per C#:

  1. Installare nodejs e NPM nella macchina virtuale

    sudo apt-get install npm
    sudo apt install nodejs-legacy
    
  2. Installare il generatore di modelli Yeoman nella macchina virtuale da NPM

    sudo npm install -g yo
    
  3. Installare il generatore di applicazioni Java Yeo di Service Fabric da NPM

    sudo npm install -g generator-azuresfcsharp
    

Creazione dell'applicazione

Un'applicazione Infrastruttura di servizi può contenere uno o più servizi, ognuno dei quali contribuisce alle funzionalità dell'applicazione con un ruolo specifico. Il generatore Yeoman di Service Fabric per C#, installato nell'ultimo passaggio, semplifica la creazione del primo servizio e l'aggiunta di altri servizi in un secondo momento. Verrà usato Yeoman per creare un'applicazione con un solo servizio.

  1. In un terminale, digitare il comando seguente per iniziare a creare lo scaffolding: yo azuresfcsharp
  2. Assegnare un nome all'applicazione.
  3. Scegliere il tipo del primo servizio e assegnargli un nome. Ai fini di questa esercitazione viene scelto un servizio Reliable Actor.

    Generatore Yeoman di Service Fabric per C#

Nota

Per altre informazioni sulle opzioni, vedere Panoramica dei modelli di programmazione di Service Fabric.

Compilare l'applicazione.

I modelli Yeoman di Service Fabric includono uno script di compilazione che è possibile usare per compilare l'app dal terminale (dopo il passaggio alla cartella dell'applicazione).

cd myapp
./build.sh

Distribuire l'applicazione

Dopo aver compilato l'applicazione, è possibile distribuirla nel cluster locale.

  1. Connettersi al cluster locale di Service Fabric.

    sfctl cluster select --endpoint http://localhost:19080
    
  2. Eseguire lo script di installazione messo a disposizione nel modello per copiare il pacchetto dell'applicazione nell'archivio immagini del cluster, registrare il tipo di applicazione e creare un'istanza dell'applicazione.

    ./install.sh
    

La distribuzione dell'applicazione compilata è uguale a quella di qualsiasi altra applicazione di Service Fabric. Per istruzioni dettagliate, vedere la documentazione sulla gestione di un'applicazione di Service Fabric con l'interfaccia della riga di comando di Service Fabric.

I parametri per questi comandi si trovano nei manifesti generati nel pacchetto dell'applicazione.

Dopo la distribuzione dell'applicazione, aprire un browser e passare a Service Fabric Explorer all'indirizzo http://localhost:19080/Explorer. Espandere quindi il nodo Applicazioni, nel quale sarà ora presente una voce per il tipo di applicazione e un'altra per la prima istanza del tipo.

Avviare il client di test ed eseguire un failover

I progetti Actor non eseguono alcuna operazione in modo indipendente. Richiedono un altro servizio o client per l'invio dei messaggi. Il modello Actor include un semplice script di test che è possibile usare per interagire con il servizio Actor.

  1. Eseguire lo script tramite l'utilità delle espressioni di controllo per visualizzare l'output del servizio Actor.

    cd myactorsvcTestClient
    watch -n 1 ./testclient.sh
    
  2. In Service Fabric Explorer individuare il nodo che ospita la replica primaria del servizio Actor. Nello screenshot seguente si tratta del nodo 3.

    Ricerca della replica primaria in Service Fabric Explorer

  3. Fare clic sul nodo trovato nel passaggio precedente, quindi selezionare Disattiva (riavvio) dal menu Azioni. Questa operazione consente di riavviare un nodo nel cluster locale forzando il failover in una replica secondaria in esecuzione in un altro nodo. Durante l'operazione, prestare attenzione all'output del client di test e notare che l'incremento del contatore prosegue nonostante il failover.

Aggiunta di altri servizi a un'applicazione esistente

Per aggiungere un altro servizio a un'applicazione già creata mediante yo, seguire questa procedura:

  1. Modificare la directory impostandola sulla radice dell'applicazione esistente. Ad esempio, cd ~/YeomanSamples/MyApplication, se MyApplication è l'applicazione creata da Yeoman.
  2. Eseguire yo azuresfcsharp:AddService

Migrazione da project.json a .csproj

  1. L'esecuzione di "dotnet migrate" nella directory radice del progetto consentirà la migrazione di tutti i file project.json al formato csproj.
  2. Aggiornare di conseguenza i riferimenti al progetto ai file in formato csproj nei file di progetto.
  3. Aggiornare i nomi dei file di progetto ai file in formato csproj in build.sh.

Passaggi successivi