Zelfstudie voor het upgraden van Service Fabric-toepassingen met Visual Studio


Azure Service Fabric vereenvoudigt het upgradeproces van cloudtoepassingen door ervoor te zorgen dat alleen gewijzigde services worden bijgewerkt en dat de toepassingsstatus tijdens het upgradeproces wordt bewaakt. Ook wordt de toepassing automatisch teruggezet naar de vorige versie wanneer er problemen optreden. Service Fabric-toepassingsupgrades zijn Zero Downtime, omdat de toepassing zonder downtime kan worden bijgewerkt. In deze zelfstudie wordt beschreven hoe u een rolling upgrade van Visual Studio kunt voltooien.

Stap 1: het voorbeeld van visuele objecten bouwen en publiceren

Download eerst de toepassing Visual Objects van GitHub. Bouw en publiceer de toepassing door met de rechtermuisknop op het toepassingsproject, VisualObjects, te klikken en de opdracht Publiceren te selecteren in het menu-item Service Fabric.

Contextmenu voor een Service Fabric-toepassing

Als u Publiceren selecteert, wordt er een pop-up weergegeven en kunt u het doelprofiel instellen opPublishProfiles\Local.xml. Het venster moet er ongeveer als volgt uitzien voordat u op Publiceren klikt.

Een Service Fabric-toepassing publiceren

U kunt nu klikken op Publiceren in het dialoogvenster. U kunt Service Fabric Explorer gebruiken om het cluster en de toepassing weer te geven. De toepassing Visual Objects heeft een webservice die u kunt openen door in de adresbalk van uw browser te typen http://localhost:8081/visualobjects/ . U ziet nu 10 zwevende visuele objecten op het scherm.

OPMERKING: Als u implementeert in Cloud.xml een profiel (Azure Service Fabric), moet de toepassing beschikbaar zijn op http://{ServiceFabricName}.{ Region}.cloudapp.azure.com:8081/visualobjects/. Zorg ervoor dat u in de Load Balancer hebt 8081/TCP geconfigureerd (zoek de Load Balancer in dezelfde resourcegroep als het Service Fabric-exemplaar).

Stap 2: Het voorbeeld van visuele objecten bijwerken

Mogelijk ziet u dat met de versie die in stap 1 is geïmplementeerd, de visuele objecten niet worden geroteerd. We gaan deze toepassing upgraden naar een toepassing waarin de visuele objecten ook worden geroteerd.

Selecteer het project VisualObjects.ActorService in de VisualObjects-oplossing en open het bestand VisualObjectActor.cs . Ga in dat bestand naar de methode MoveObject, maak een opmerking en visualObject.Move(false)verwijder de opmerking visualObject.Move(true). Met deze codewijziging worden de objecten geroteerd nadat de service is bijgewerkt. U kunt nu de oplossing bouwen (niet opnieuw opbouwen), waarmee de gewijzigde projecten worden gebouwd. Als u Alles opnieuw opbouwen selecteert, moet u de versies voor alle projecten bijwerken.

We moeten ook een versie van onze toepassing uitvoeren. Als u de versiewijzigingen wilt aanbrengen nadat u met de rechtermuisknop op het VisualObjects-project hebt geklikt, kunt u de optie Manifestversies bewerken in Visual Studio gebruiken. Als u deze optie selecteert, wordt het dialoogvenster voor editieversies als volgt weergegeven:

Het dialoogvenster Versiebeheer

Werk de versies voor de gewijzigde projecten en de bijbehorende codepakketten bij, samen met de toepassing naar versie 2.0.0. Nadat de wijzigingen zijn aangebracht, moet het manifest er als volgt uitzien (vetgedrukte gedeelten geven de wijzigingen weer):

Versies bijwerken

De Visual Studio-hulpprogramma's kunnen automatische rollups van versies uitvoeren wanneer u Toepassings- en serviceversies automatisch bijwerken selecteert. Als u SemVer gebruikt, moet u alleen de code- en/of configuratiepakketversie bijwerken als deze optie is geselecteerd.

Sla de wijzigingen op en schakel nu het selectievakje De toepassing bijwerken in.

Stap 3: Uw toepassing upgraden

Maak uzelf vertrouwd met de upgradeparameters van de toepassing en het upgradeproces om een goed inzicht te krijgen in de verschillende upgradeparameters, time-outs en statuscriterium die kunnen worden toegepast. Voor dit scenario is het evaluatiecriterium voor de servicestatus ingesteld op de standaardinstelling (niet-bewaakte modus). U kunt deze instellingen configureren door Upgrade-instellingen configureren te selecteren en vervolgens de parameters naar wens te wijzigen.

Nu zijn we klaar om de toepassingsupgrade te starten door Publiceren te selecteren. Met deze optie wordt uw toepassing bijgewerkt naar versie 2.0.0, waarin de objecten worden gedraaid. Service Fabric voert een upgrade uit van één updatedomein tegelijk (sommige objecten worden eerst bijgewerkt, gevolgd door andere) en de service blijft toegankelijk tijdens de upgrade. Toegang tot de service kan worden gecontroleerd via uw client (browser).

Naarmate de toepassing wordt bijgewerkt, kunt u deze nu controleren met Service Fabric Explorer, met behulp van het tabblad Upgrades wordt uitgevoerd onder de toepassingen.

Over een paar minuten moeten alle updatedomeinen worden bijgewerkt (voltooid) en moet in het uitvoervenster van Visual Studio ook worden aangegeven dat de upgrade is voltooid. En u ziet dat alle visuele objecten in uw browservenster nu draaien.

U kunt proberen de versies te wijzigen en over te schakelen van versie 2.0.0 naar versie 3.0.0 als oefening, of zelfs van versie 2.0.0 terug naar versie 1.0.0. Speel met time-outs en gezondheidsbeleid om uzelf vertrouwd te maken met deze beleidsregels. Wanneer u implementeert in een Azure-cluster in plaats van een lokaal cluster, moeten de gebruikte parameters mogelijk verschillen. We raden u aan de time-outs voorzichtig in te stellen.

Volgende stappen

Bij het upgraden van uw toepassing met behulp van PowerShell wordt u begeleid bij een toepassingsupgrade met behulp van PowerShell.

Bepaal hoe uw toepassing wordt bijgewerkt met behulp van upgradeparameters.

Maak uw toepassingsupgrades compatibel door te leren hoe u gegevensserialisatie gebruikt.

Raadpleeg Geavanceerde onderwerpen voor meer informatie over het gebruik van geavanceerde functionaliteit tijdens het upgraden van uw toepassing.

Los veelvoorkomende problemen bij toepassingsupgrades op door te verwijzen naar de stappen in Problemen met toepassingsupgrades oplossen.