Einführung
Angenommen, Sie arbeiten als Softwareentwickler*in für einen Onlinehändler namens eShop. Der Händler verwendet eine auf Microservices basierende cloudnative Architektur sowie .NET für seine Onlinestorefront. Die Lösung umfasst eine .NET-API, die als Produktdienst bezeichnet wird. Der Dienst für den Onlineshop sendet Aufrufe an die Back-End-Produkt-API, um Details zu den angebotenen Produkten zu erhalten.
Der Fokus dieses Moduls liegt auf der Resilienz. Dies ist die Fähigkeit einer Anwendung oder eines Diensts, Probleme zu behandeln. Resilienz trägt dazu bei, Ihre App auf eine Weise fehlertolerant zu machen, die die geringstmöglichen Auswirkungen auf Benutzer*innen hat. Folgende Resilienzansätze werden erläutert:
- Verwenden eines codebasierten Ansatzes
- Verwenden eines infrastrukturbasierten Ansatzes
Sie ändern die App so, dass diese einige codebasierte Richtlinien zur Resilienzbehandlung in einem Microservice einbezieht. Außerdem konfigurieren Sie die Azure Kubernetes Service-Bereitstellung (AKS) neu, um eine infrastrukturbasierte Lösung zu implementieren.
Zum Bereitstellen der Ressourcen in diesem Modul verwenden Sie Ihr eigenes Azure-Abonnement. Wenn Sie kein Azure-Abonnement besitzen, können Sie ein kostenloses Konto erstellen, bevor Sie beginnen.
Wichtig
Um unnötige Gebühren in Ihrem Azure-Abonnement zu vermeiden, löschen Sie Ihrer Azure-Ressourcen, wenn Sie dieses Modul abgeschlossen haben.
Entwicklungscontainer
Dieses Modul enthält Konfigurationsdateien, in denen ein Entwicklungscontainer (oder Dev-Container) definiert wird. Durch die Verwendung des Entwicklungscontainers wird eine standardisierte Umgebung gewährleistet, in der die erforderlichen Tools vorkonfiguriert sind.
Der Entwicklungscontainer kann in einer von zwei Umgebungen ausgeführt werden. Bevor Sie beginnen, führen Sie die in einem der folgenden Links dargestellten Schritte aus, um Ihre Umgebung einzurichten, einschließlich der Installation von Docker und der erforderlichen Visual Studio Code-Erweiterungen.
- Visual Studio Code und eine unterstützte Docker-Umgebung auf Ihrem lokalen Computer
- GitHub Codespaces (möglicherweise kostenpflichtig)
Lernziele
In diesem Modul lernen Sie Folgendes:
- grundlegende Resilienzkonzepte
- Beobachten des Verhaltens eines Microservice ohne Resilienzstrategie
- Implementieren von Fehlerbehandlungscode für HTTP-Anforderungen in einem Microservice
- Bereitstellen einer infrastrukturbasierten Resilienzlösung für ein AKS-Cluster
Voraussetzungen
- Vertrautheit mit der C#- und .NET-Entwicklung auf Einsteigerniveau
- Vertrautheit mit den RESTful-Dienstkonzepten
- Konzeptionelle Kenntnisse über Container und AKS auf fortgeschrittenem Niveau
- Kenntnisse über das Ausführen von Entwicklungscontainern in GitHub Codespaces oder Visual Studio Code