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 macOS X kan du konfigurera en Linux one-box-miljö på en virtuell dator med Vagrant.
Du vill 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#:
Installera nodejs och NPM på datorn
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.0/install.sh | bash nvm install node
Installera Yeoman-mallgeneratorn på datorn från NPM
npm install -g yo
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.
Skriv följande kommando i en terminal, för att börja bygga ställningarna:
yo azuresfcsharp
Namnge ditt program.
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.
Kommentar
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.
Anslut till det lokala Service Fabric-klustret.
sfctl cluster select --endpoint http://localhost:19080
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 navigerar till Service Fabric Explorer på http://localhost:19080/Explorer
. Expandera sedan noden Program och observera att det nu finns en post för din programtyp och en annan 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 programmet med Service Fabric-körningen. På så sätt kan dina Reliable Services-tjänster kommunicera med underliggande Service Fabric-körnings-API:er. 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 inget 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.
Kör skriptet med övervakningsverktyget för att se resultatet av aktörstjänsten.
Om 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
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.
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:
- Ändra katalogen till roten för det befintliga programmet. Till exempel
cd ~/YeomanSamples/MyApplication
omMyApplication
är programmet som skapats av Yeoman. - Kör
yo azuresfcsharp:AddService