Uw eerste Azure Service Fabric-toepassing maken
Service Fabric biedt SDK's voor het bouwen van services in Linux in zowel .NET Core als Java. In deze zelfstudie wordt behandeld hoe u een toepassing maakt voor Linux en een service bouwt met behulp van C# op .NET Core 2.0.
Vereisten
Zorg voordat u begint ervoor dat u uw Linux-ontwikkelingsomgeving hebt ingesteld. Als u macOS X gebruikt, kunt u een Linux-omgeving met één box instellen op een virtuele machine met behulp van Vagrant.
U wilt ook de Service Fabric CLI installeren
Generatoren voor C# installeren en instellen
Service Fabric biedt hulpprogramma's waarmee u vanuit een terminal Service Fabric-toepassingen kunt maken met behulp van Yeoman-sjabloongeneratoren. Volg deze stappen om de Service Fabric Yeoman-sjabloongeneratoren in te stellen voor C#:
nodejs en NPM installeren op uw computer
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.0/install.sh | bash nvm install node
Yeoman-sjabloongenerator installeren op uw computer vanuit NPM
npm install -g yo
De generator voor Service Fabric Yeoman C#-toepassingen installeren vanuit NPM
npm install -g generator-azuresfcsharp
De toepassing maken
Een Service Fabric-toepassing kan een of meer services bevatten, elk met een specifieke functie met betrekking tot het leveren van de functionaliteit van de toepassing. De Service Fabric Yeoman-generator voor C#, die u in de laatste stap hebt geïnstalleerd, zorgt ervoor dat u gemakkelijk uw eerste service kunt maken en er later meer kunt toevoegen. We gebruiken Yeoman om een toepassing te maken met één service.
Typ in een terminal de volgende opdracht om te beginnen met de opbouw van de sjabloon:
yo azuresfcsharp
Geef uw toepassing een naam.
Kies het type van uw eerste service en geef de service een naam. In deze zelfstudie kiezen we voor een Reliable Actor Service.
Notitie
Zie Service Fabric programming model overview (Overzicht van het Service Fabric-programmeermodel) voor meer informatie over de opties.
De toepassing bouwen
De Service Fabric Yeoman-sjablonen bevatten een bouwscript dat u kunt gebruiken om de app via de terminal te maken (na het navigeren naar de toepassingsmap).
cd myapp
./build.sh
De toepassing implementeren
Nadat de toepassing is gemaakt, kunt u deze implementeren in het lokale cluster.
Maak verbinding met het lokale cluster van Service Fabric.
sfctl cluster select --endpoint http://localhost:19080
Voer het installatiescript uit dat is opgegeven in de sjabloon om het toepassingspakket te kopiëren naar de installatiekopieopslag van het cluster, het toepassingstype te registreren en een exemplaar van de toepassing te maken.
./install.sh
De implementatie van de gemaakte toepassing werkt hetzelfde als van andere Service Fabric-toepassingen. Zie de documentatie over het beheren van een Service Fabric-toepassing met de Service Fabric-CLI voor gedetailleerde instructies.
Parameters voor deze opdrachten vindt u in de gegenereerde manifesten binnen het toepassingspakket.
Zodra de toepassing is geïmplementeerd, opent u een browser en navigeert u naar Service Fabric Explorer op http://localhost:19080/Explorer
. Vouw vervolgens het knooppunt Toepassingen uit en houd er rekening mee dat er nu een vermelding is voor uw toepassingstype en een andere voor het eerste exemplaar van dat type.
Belangrijk
Als u de toepassing wilt implementeren in een beveiligd Linux-cluster in Azure, moet u een certificaat configureren om uw toepassing te valideren met de Service Fabric-runtime. Hierdoor kunnen uw Reliable Services-services communiceren met de onderliggende Service Fabric Runtime-API's. Zie Een Reliable Services-app configureren voor uitvoering op Linux-clusters voor meer informatie.
De testclient starten en een failover uitvoeren
Actorprojecten doen niets alleen. Ze hebben een andere service of client nodig die hen berichten stuurt. De actorsjabloon bevat een eenvoudig testscript dat u kunt gebruiken om te communiceren met de actorservice.
Voer het script uit met behulp van het controleprogramma om de uitvoer van de actorservice te bekijken.
In het geval van MAC OS X moet u de map myactorsvcTestClient kopiëren naar dezelfde locatie in de container door de volgende extra opdrachten uit te voeren.
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
Zoek in Service Fabric Explorer het knooppunt op dat als host fungeert voor de primaire replica voor de actorservice. In de onderstaande schermafbeelding is dit knooppunt 3.
Klik op het knooppunt dat u hebt gevonden in de vorige stap en selecteer vervolgens Deactiveren (opnieuw starten) in het menu Acties. Deze actie start één knooppunt in het lokale cluster opnieuw op om een failover af te dwingen naar een secundaire replica die wordt uitgevoerd op een ander knooppunt. Let terwijl u deze actie uitvoert op de uitvoer van de testclient en houd er rekening mee dat de teller blijft toenemen ondanks de failover.
Meer services toevoegen aan een bestaande toepassing
Voer de volgende stappen uit als u nog een service wilt toevoegen aan een toepassing die al is gemaakt met yo
:
- Stel de directory in op de hoofdmap van de bestaande toepassing. Bijvoorbeeld
cd ~/YeomanSamples/MyApplication
alsMyApplication
de toepassing is die is gemaakt door Yeoman. yo azuresfcsharp:AddService
uitvoeren