Dela via


Skapa ditt första Azure Service Fabric-program

Service Fabric innehåller SDK:er för att skapa tjänster i Linux i både .NET Core och Java. I den här självstudien visar vi hur man skapar ett program för Linux och en tjänst med C# i .NET Core 2.0.

Förutsättningar

Du måste konfigurera Linux-utvecklingsmiljön innan du börjar. Om du använder Mac OS X kan du konfigurera en Linux-miljö på en virtuell dator med hjälp av Vagrant.

Du bör också installera Service Fabric CLI

Installera och konfigurera generatorerna för C#

Service Fabric tillhandahåller ramverktyg som hjälper dig att skapa Service Fabric-program från en terminal med en Yeoman-mallgenerator. Följ dessa steg för att konfigurera Service Fabric Yeoman-mallgeneratorer för C#:

  1. Installera nodejs och NPM på datorn

    curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.0/install.sh | bash 
    nvm install node 
    
  2. Installera Yeoman-mallgeneratorn på datorn från NPM

    npm install -g yo
    
  3. Installera Service Fabric Yeoman C#-appgenerator från NPM

    npm install -g generator-azuresfcsharp
    

Skapa programmet

Ett Service Fabric-program kan innehålla en eller flera tjänster, som var och en ansvarar för att leverera programmets funktioner. Service Fabric Yeoman-generatorn för C#, som du installerade i förra steget, gör det enkelt att skapa din första tjänst och lägga till fler senare. Använd Yeoman för att skapa ett program med en enskild tjänst.

  1. Skriv följande kommando i en terminal, för att börja bygga ställningarna: yo azuresfcsharp

  2. Namnge ditt program.

  3. Välj vilken typ din första tjänst ska ha och namnge den. För den här självstudien väljer vi en Reliable Actor-tjänst.

    Service Fabric Yeoman-generator för C#

Anteckning

Mer information om alternativen finns i Översikt över Service Fabric-programmeringsmodell.

Skapa programmet

Service Fabric Yeoman-mallarna inkluderar ett byggskript som du kan använda för att skapa programmet från terminalen (efter att du navigerat till programmappen).

cd myapp
./build.sh

Distribuera programmet

När du har skapat programmet kan du distribuera det till det lokala klustret.

  1. Anslut till det lokala Service Fabric-klustret.

    sfctl cluster select --endpoint http://localhost:19080
    
  2. Kör installationsskriptet som medföljer mallen för att kopiera programpaketet till klustrets avbildningsarkiv, registrera programtypen och skapa en instans av programmet.

    ./install.sh
    

Distributionen går till på samma sätt som för andra Service Fabric-program. Detaljerade instruktioner finns i dokumentationen om att hantera ett Service Fabric-program med Service Fabric CLI.

Du hittar parametrarna till de här kommandona i de genererade manifesten i programpaketet.

När programmet har distribuerats öppnar du en webbläsare och går till Service Fabric Explorerhttp://localhost:19080/Explorer. Expandera sedan noden Program och observera att det nu finns en post för din programtyp och en post för den första instansen av den typen.

Viktigt

Om du vill distribuera programmet till ett säkert Linux-kluster i Azure måste du konfigurera ett certifikat för att verifiera ditt program med Service Fabric-körningen. På så sätt kan dina Reliable Services-tjänster kommunicera med de underliggande Service Fabric-runtime-API:erna. Mer information finns i Konfigurera en Reliable Services-app så att den körs på Linux-kluster.

Starta testklienten och utför en redundansväxling

Aktörsprojekt gör ingenting på egen hand. Det behövs en annan tjänst eller klient för att skicka meddelanden till dem. Aktörsmallen innehåller ett enkelt testskript som du kan använda för att interagera med aktörstjänsten.

  1. Kör skriptet med övervakningsverktyget för att se resultatet av aktörstjänsten.

    När det gäller MAC OS X måste du kopiera mappen myactorsvcTestClient till samma plats i containern genom att köra följande ytterligare kommandon.

    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. I Service Fabric Explorer letar du reda på noden där den primära repliken för aktörstjänsten finns. På skärmbilden nedan är det nod 3.

    Hitta den primära repliken i Service Fabric Explorer

  3. Klicka på noden du hittade i föregående steg och välj sedan Deactivate (restart) (Inaktivera (omstart)) på menyn Actions (Åtgärder). Den här åtgärden startar om en nod i ditt lokala kluster, vilket framtvingar en redundansväxling till en sekundär replik som körs på en annan nod. När du utför åtgärden, ska du vara uppmärksam på utdata från testklienten och notera att räknaren fortsätter att öka trots redundansen.

Lägga till fler tjänster till ett befintligt program

Om du vill lägga till en till tjänst till ett program som redan har skapats med hjälp av yo utför du följande steg:

  1. Ändra katalogen till roten för det befintliga programmet. Till exempel cd ~/YeomanSamples/MyApplication om MyApplication är programmet som skapats av Yeoman.
  2. Kör yo azuresfcsharp:AddService

Nästa steg