Creare la prima applicazione di Azure Service FabricCreate your first Azure Service Fabric application

Service Fabric mette a disposizione SDK per la compilazione di servizi su Linux in .NET Core e Java.Service Fabric provides SDKs for building services on Linux in both .NET Core and 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.In this tutorial, we look at how to create an application for Linux and build a service using C# on .NET Core 2.0.

PrerequisitiPrerequisites

Prima di iniziare, assicurarsi di avere configurato l'ambiente di sviluppo di Linux.Before you get started, make sure that you have set up your Linux development environment. Se si usa Mac OS X è possibile configurare un ambiente con un solo computer Linux in una macchina virtuale usando Vagrant.If you are using Mac OS X, you can set up a Linux one-box environment in a virtual machine using Vagrant.

È consigliabile installare anche l'interfaccia della riga di comando di Service Fabric.You will also want to install the Service Fabric CLI

Installare e configurare i generatori per C#Install and set up the generators for C#

Service Fabric offre gli strumenti di scaffolding che consentono di creare applicazioni Service Fabric dal terminale tramite i generatori di modelli Yeoman.Service Fabric provides scaffolding tools which help you create Service Fabric applications from a terminal using Yeoman template generators. Seguire questi passaggi per configurare i generatori di modelli Yeoman di Service Fabric per C#:Follow these steps to set up the Service Fabric Yeoman template generators for C#:

  1. Installare nodejs e NPM nella macchina virtualeInstall nodejs and NPM on your machine

    sudo apt-get install npm
    sudo apt install nodejs-legacy
    
  2. Installare il generatore di modelli Yeoman nella macchina virtuale da NPMInstall Yeoman template generator on your machine from NPM

    sudo npm install -g yo
    
  3. Installare il generatore di applicazioni Java Yeo di Service Fabric da NPMInstall the Service Fabric Yeo Java application generator from NPM

    sudo npm install -g generator-azuresfcsharp
    

Creazione dell'applicazioneCreate the application

Un'applicazione Infrastruttura di servizi può contenere uno o più servizi, ognuno dei quali contribuisce alle funzionalità dell'applicazione con un ruolo specifico.A Service Fabric application can contain one or more services, each with a specific role in delivering the application's functionality. 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.The Service Fabric Yeoman generator for C#, which you installed in last step, makes it easy to create your first service and to add more later. Verrà usato Yeoman per creare un'applicazione con un solo servizio.Let's use Yeoman to create an application with a single service.

  1. In un terminale, digitare il comando seguente per iniziare a creare lo scaffolding: yo azuresfcsharpIn a terminal, type the following command to start building the scaffolding: yo azuresfcsharp
  2. Assegnare un nome all'applicazione.Name your application.
  3. Scegliere il tipo del primo servizio e assegnargli un nome.Choose the type of your first service and name it. Ai fini di questa esercitazione viene scelto un servizio Reliable Actor.For the purposes of this tutorial, we choose a Reliable Actor Service.

    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.Build the application

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).The Service Fabric Yeoman templates include a build script that you can use to build the app from the terminal (after navigating to the application folder).

cd myapp
./build.sh

Distribuire l'applicazioneDeploy the application

Dopo aver compilato l'applicazione, è possibile distribuirla nel cluster locale.Once the application is built, you can deploy it to the local cluster.

  1. Connettersi al cluster locale di Service Fabric.Connect to the local Service Fabric cluster.

    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.Run the install script provided in the template to copy the application package to the cluster's image store, register the application type, and create an instance of the application.

    ./install.sh
    

La distribuzione dell'applicazione compilata è uguale a quella di qualsiasi altra applicazione di Service Fabric.Deploying the built application is the same as any other Service Fabric application. Per istruzioni dettagliate, vedere la documentazione sulla gestione di un'applicazione di Service Fabric con l'interfaccia della riga di comando di Service Fabric.See the documentation on managing a Service Fabric application with the Service Fabric CLI for detailed instructions.

I parametri per questi comandi si trovano nei manifesti generati nel pacchetto dell'applicazione.Parameters to these commands can be found in the generated manifests inside the application package.

Dopo la distribuzione dell'applicazione, aprire un browser e passare a Service Fabric Explorer all'indirizzo http://localhost:19080/Explorer.Once the application has been deployed, open a browser and navigate to Service Fabric Explorer at 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.Then, expand the Applications node and note that there is now an entry for your application type and another for the first instance of that type.

Avviare il client di test ed eseguire un failoverStart the test client and perform a failover

I progetti Actor non eseguono alcuna operazione in modo indipendente.Actor projects do not do anything on their own. Richiedono un altro servizio o client per l'invio dei messaggi.They require another service or client to send them messages. Il modello Actor include un semplice script di test che è possibile usare per interagire con il servizio Actor.The actor template includes a simple test script that you can use to interact with the actor service.

  1. Eseguire lo script tramite l'utilità delle espressioni di controllo per visualizzare l'output del servizio Actor.Run the script using the watch utility to see the output of the actor service.

    cd myactorsvcTestClient
    watch -n 1 ./testclient.sh
    
  2. In Service Fabric Explorer individuare il nodo che ospita la replica primaria del servizio Actor.In Service Fabric Explorer, locate node hosting the primary replica for the actor service. Nello screenshot seguente si tratta del nodo 3.In the screenshot below, it is node 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.Click the node you found in the previous step, then select Deactivate (restart) from the Actions menu. Questa operazione consente di riavviare un nodo nel cluster locale forzando il failover in una replica secondaria in esecuzione in un altro nodo.This action restarts one node in your local cluster forcing a failover to a secondary replica running on another node. Durante l'operazione, prestare attenzione all'output del client di test e notare che l'incremento del contatore prosegue nonostante il failover.As you perform this action, pay attention to the output from the test client and note that the counter continues to increment despite the failover.

Aggiunta di altri servizi a un'applicazione esistenteAdding more services to an existing application

Per aggiungere un altro servizio a un'applicazione già creata mediante yo, seguire questa procedura:To add another service to an application already created using yo, perform the following steps:

  1. Modificare la directory impostandola sulla radice dell'applicazione esistente.Change directory to the root of the existing application. Ad esempio, cd ~/YeomanSamples/MyApplication, se MyApplication è l'applicazione creata da Yeoman.For example, cd ~/YeomanSamples/MyApplication, if MyApplication is the application created by Yeoman.
  2. Eseguire yo azuresfcsharp:AddServiceRun yo azuresfcsharp:AddService

Migrazione da project.json a .csprojMigrating from project.json to .csproj

  1. L'esecuzione di "dotnet migrate" nella directory radice del progetto consentirà la migrazione di tutti i file project.json al formato csproj.Running 'dotnet migrate' in project root directory will migrate all the project.json to csproj format.
  2. Aggiornare di conseguenza i riferimenti al progetto ai file in formato csproj nei file di progetto.Update the project references accordingly to csproj files in project files.
  3. Aggiornare i nomi dei file di progetto ai file in formato csproj in build.sh.Update the project file names to csproj files in build.sh.

Passaggi successiviNext steps