Erstellen Ihrer ersten Azure Service Fabric-Anwendung
Service Fabric bietet SDKs, mit denen sich Dienste unter Linux sowohl in .NET Core als auch in Java erstellen lassen. In diesem Tutorial erfahren Sie, wie Sie eine Anwendung für Linux und einen Dienst mit C# unter .NET Core 2.0 erstellen.
Voraussetzungen
Vor Beginn des Tutorials müssen Sie zunächst Ihre Linux-Entwicklungsumgebung einrichten. Wenn Sie macOS X verwenden, können Sie mithilfe von Vagrant eine Linux-One-Box-Umgebung auf einer VM einrichten.
Sie sollten ebenfalls die Service Fabric-CLI installieren
Installieren und Einrichten der Generatoren für C#
Die Gerüstbautools von Service Fabric unterstützen Sie beim Erstellen von Service Fabric-Anwendungen über das Terminal mithilfe von Yeoman-Vorlagengeneratoren. Führen Sie die folgenden Schritte aus, um die Service Fabric-Yeoman-Vorlagengeneratoren für C# einzurichten:
Installieren von Node.js und npm auf dem Computer
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.0/install.sh | bash nvm install node
Installieren Sie den Yeoman-Vorlagengenerator auf dem Computer über npm.
npm install -g yo
Installieren des Service Fabric-Yeoman-C#-Anwendungsgenerators über npm
npm install -g generator-azuresfcsharp
Erstellen der Anwendung
Eine Service Fabric-Anwendung kann einen oder mehrere Dienste enthalten, die jeweils eine bestimmte Rolle bei der Bereitstellung von Funktionen der Anwendung haben. Mit dem Service Fabric-Yeoman-Generator für C#, der im letzten Schritt installiert wurde, können Sie problemlos Ihren ersten Dienst erstellen und später weitere Dienste hinzufügen. Im nächsten Schritt erstellen wir mithilfe von Yeoman eine Anwendung mit einem einzelnen Dienst.
Geben Sie an einem Terminal den folgenden Befehl ein, um mit dem Erstellen des Gerüsts zu beginnen:
yo azuresfcsharp
Benennen Sie Ihre Anwendung.
Wählen Sie die Art Ihres ersten Diensts aus, und benennen Sie ihn. Im Rahmen dieses Tutorials wählen wir einen Reliable Actor-Dienst aus.
Hinweis
Weitere Informationen zu den Optionen finden Sie unter Übersicht über die Service Fabric-Programmiermodelle.
Erstellen der Anwendung
Die Yeoman-Vorlagen von Service Fabric enthalten ein Buildskript. Damit können Sie (nach Navigation zum Anwendungsordner) die App über das Terminal erstellen.
cd myapp
./build.sh
Bereitstellen der Anwendung
Die erstellte Anwendung kann im lokalen Cluster bereitgestellt werden.
Stellen Sie eine Verbindung mit dem lokalen Service Fabric-Cluster her.
sfctl cluster select --endpoint http://localhost:19080
Führen Sie das in der Vorlage bereitgestellte Installationsskript aus, um das Anwendungspaket in den Imagespeicher des Clusters zu kopieren, den Anwendungstyp zu registrieren und eine Instanz der Anwendung zu erstellen.
./install.sh
Bei der Bereitstellung der erstellten Anwendung wird genau wie bei anderen Service Fabric-Anwendungen vorgegangen. Ausführliche Anweisungen finden Sie in der Dokumentation zum Verwalten einer Service Fabric-Anwendung mit der Service Fabric-Befehlszeilenschnittstelle.
Parameter für diesen Befehl finden Sie in den erstellten Manifesten im Anwendungspaket.
Sobald die Anwendung bereitgestellt ist, öffnen Sie einen Browser, und navigieren Sie zu Service Fabric Explorer unter http://localhost:19080/Explorer
. Erweitern Sie dann den Knoten Anwendungen, und beachten Sie, dass es nun einen Eintrag für Ihren Anwendungstyp und einen weiteren für die erste Instanz dieses Typs gibt.
Wichtig
Wenn Sie die Anwendung in einem sicheren Linux-Cluster in Azure bereitstellen möchten, müssen Sie ein Zertifikat konfigurieren, um Ihre Anwendung mit der Service Fabric-Runtime zu überprüfen. Dadurch wird Ihren Reliable Services-Diensten die Kommunikation mit den zugrunde liegenden Service Fabric-Runtime-APIs ermöglicht. Weitere Informationen finden Sie unter Konfigurieren einer Reliable Services-App zur Ausführung in Linux-Clustern.
Starten des Testclients und Ausführen eines Failovers
Akteur-Projekte führen keine eigenständigen Aktionen durch. Sie benötigen einen anderen Dienst oder Client, der ihnen Nachrichten sendet. Die Actor-Vorlage enthält ein einfaches Testskript, das Sie für die Interaktion mit dem Actor-Dienst verwenden können.
Führen Sie das Skript mithilfe des watch-Hilfsprogramms aus, um die Ausgabe des Actor-Diensts zu erhalten.
Im Fall von MAC OS X müssen Sie zusätzlich folgende Befehle ausführen, um den Ordner „myactorsvcTestClient“ an denselben Speicherort innerhalb des Containers zu kopieren.
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
Suchen Sie in Service Fabric Explorer den Knoten, der das primäre Replikat für den Actor-Dienst hostet. Im folgenden Screenshot ist das „Node_3“:
Klicken Sie auf den Knoten, den Sie im vorherigen Schritt ermittelt haben, und wählen Sie im Aktionsmenü die Option Deaktivieren (neu starten) aus. Mit dieser Aktion wird ein Knoten in Ihrem lokalen Cluster neu gestartet und ein Failover auf ein sekundäres Replikat erzwungen, das auf einem anderen Knoten ausgeführt wird. Behalten Sie bei dieser Aktion die Ausgabe des Testclients im Auge, und beachten Sie, dass sich der Zähler trotz des Failovers weiter erhöht.
Hinzufügen weiterer Dienste zu einer vorhandenen Anwendung
Führen Sie zum Hinzufügen eines weiteren Diensts zu einer Anwendung, die bereits mit yo
erstellt wurde, die folgenden Schritte aus:
- Legen Sie das Verzeichnis auf den Stamm der vorhandenen Anwendung fest. Beispiel:
cd ~/YeomanSamples/MyApplication
, wennMyApplication
die von Yeoman erstellte Anwendung ist. - Ausführen von
yo azuresfcsharp:AddService