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 macOS X, è possibile configurare un ambiente Linux mono-box in una macchina virtuale usando Vagrant.
Si vuole 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#:
Installare nodejs e NPM nella macchina virtuale
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.0/install.sh | bash nvm install node
Installare il generatore di modelli Yeoman nella macchina virtuale da NPM
npm install -g yo
Installare il generatore di applicazioni C# Yeoman di Service Fabric da NPM
npm install -g generator-azuresfcsharp
Creare l'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.
In un terminale, digitare il comando seguente per iniziare a creare lo scaffolding:
yo azuresfcsharp
Assegnare un nome all'applicazione.
Scegliere il tipo del primo servizio e assegnargli un nome. Ai fini di questa esercitazione viene scelto un servizio Reliable Actor.
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.
Connettersi al cluster locale di Service Fabric.
sfctl cluster select --endpoint http://localhost:19080
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 aver distribuito l'applicazione, aprire un browser e passare a Service Fabric Explorer all'indirizzo http://localhost:19080/Explorer
. Espandere quindi il nodo Applicazioni e notare che è ora presente una voce per il tipo di applicazione e un'altra per la prima istanza di tale tipo.
Importante
Per distribuire l'applicazione a un cluster Linux protetto in Azure, è necessario configurare un certificato per convalidare l'applicazione con il runtime di Service Fabric. In questo modo i servizi di Reliable Services possono comunicare con le API di runtime di Service Fabric sottostanti. Per altre informazioni, vedere Configurare un'app di Reliable Services da eseguire su cluster Linux.
Avviare il client di test ed eseguire un failover
I progetti attore non fanno nulla da soli. 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.
Eseguire lo script tramite l'utilità delle espressioni di controllo per visualizzare l'output del servizio Actor.
Pe il sistema operativo Mac OS X è necessario copiare la cartella myactorsvcTestClient in un percorso all'interno del contenitore eseguendo i comandi aggiuntivi seguenti.
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
In Service Fabric Explorer individuare il nodo che ospita la replica primaria del servizio Actor. Nello screenshot seguente si tratta del nodo 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:
- Modificare la directory impostandola sulla radice dell'applicazione esistente. Ad esempio,
cd ~/YeomanSamples/MyApplication
, seMyApplication
è l'applicazione creata da Yeoman. - Eseguire
yo azuresfcsharp:AddService