Vytvoření první aplikace Azure Service Fabric
Service Fabric poskytuje sady SDK pro vytváření služeb v Linuxu pomocí .NET Core a Javy. V tomto kurzu si projdeme postup vytvoření aplikace pro Linux a vytvoření služby pomocí jazyka C# na .NET Core 2.0.
Požadavky
Než začnete, ujistěte se, že máte v Linuxu nastavené vývojové prostředí. Pokud používáte macOS X, můžete ve virtuálním počítači nastavit linuxové prostředí s jedním rámečkem pomocí nástroje Vagrant.
Chcete také nainstalovat Service Fabric CLI.
Instalace a nastavení generátorů pro jazyk C#
Service Fabric nabízí nástroje pro generování uživatelského rozhraní, které vám pomohou vytvářet aplikace Service Fabric z terminálu s využitím generátorů šablon Yeoman. Podle těchto pokynů nastavte generátory šablon Service Fabric Yeoman pro jazyk C#:
Instalace nodejs a NPM na počítači
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.0/install.sh | bash nvm install node
Instalace generátoru šablon Yeoman na počítač z NPM
npm install -g yo
Instalace generátoru aplikací v jazyce C# Service Fabric Yeoman z NPM
npm install -g generator-azuresfcsharp
Vytvoření aplikace
Aplikace Service Fabric může obsahovat jednu nebo víc služeb, z nichž každá má určitou roli při poskytování funkcí aplikace. Generátor Service Fabric Yeoman pro jazyk C#, který jste nainstalovali v posledním kroku, vám usnadní vytvoření první služby a případná další rozšíření později. Pomocí generátoru Yeoman vytvoříme aplikaci s jedinou službou.
V terminálu zadejte následující příkaz, který zahájí sestavování základní kostry aplikace:
yo azuresfcsharp
Pojmenujte svoji aplikaci.
Vyberte typ první služby a pojmenujte ji. Pro účely tohoto kurzu zvolíme službu Reliable Actor.
Poznámka:
Další informace o možnostech najdete v tématu Přehled programovacího modelu Service Fabric.
Sestavení aplikace
Šablony generátoru Service Fabric Yeoman zahrnují skript sestavení, který můžete použít k sestavení aplikace z terminálu (po přejití do složky aplikace).
cd myapp
./build.sh
Nasazení aplikace
Jakmile je aplikace sestavená, můžete ji nasadit do místního clusteru.
Připojte se k místnímu clusteru služby Service Fabric.
sfctl cluster select --endpoint http://localhost:19080
Spuštěním instalačního skriptu, který je součástí šablony, zkopírujte balíček aplikace do úložiště imagí clusteru, zaregistrujte typ aplikace a vytvořte její instanci.
./install.sh
Nasazení sestavené aplikace je stejné jako u všech ostatních aplikací Service Fabric. Podrobné pokyny najdete v dokumentaci s popisem správy aplikace Service Fabric pomocí Service Fabric CLI.
Parametry těchto příkazů najdete v generovaných manifestech uvnitř balíčku aplikace.
Po nasazení aplikace otevřete prohlížeč a přejděte do Service Fabric Exploreru na adrese http://localhost:19080/Explorer
. Pak rozbalte uzel Aplikace a všimněte si, že teď existuje položka pro váš typ aplikace a další pro první instanci tohoto typu.
Důležité
Pokud chcete aplikaci nasadit do zabezpečeného clusteru s Linuxem v Azure, musíte nakonfigurovat certifikát pro ověření aplikace pomocí modulu runtime Service Fabric. Tím umožníte službám Reliable Services komunikovat s podkladovými rozhraními API modulu runtime Service Fabric. Další informace najdete v tématu Konfigurace aplikace Reliable Services pro spouštění v clusterech s Linuxem.
Spuštění klienta testování a převzetí služeb při selhání
Projekty objektu actor samy o sobě neprovádějí nic. Vyžadují, aby jim jiná služba nebo klient posílali zprávy. Šablona actor zahrnuje jednoduchý testovací skript, který můžete použít k interakci se službou actor.
Spusťte skript pomocí pomocného sledovacího programu a prohlédněte si výstup služby actor.
V případě MAC OS X musíte zkopírovat složku myactorsvcTestClient do stejného umístění uvnitř kontejneru spuštěním následujících dalších příkazů.
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
V Service Fabric Exploreru vyhledejte uzel, který je hostitelem primární repliky pro službu actor. Na snímku níže je to uzel 3.
Klikněte na uzel, který jste našli v předchozím kroku, a potom v nabídce Akce vyberte Deaktivovat (restartovat). Tato akce restartuje jeden uzel v místním clusteru a vynutí převzetí služeb při selhání jednou ze sekundárních replik spuštěných v jiném uzlu. Při provádění této akce věnujte pozornost výstupu z klienta testování a všimněte si, že se čítač bez ohledu na převzetí služeb při selhání pořád postupně zvyšuje.
Přidání více služeb do stávající aplikace
Pokud chcete přidat další službu do aplikace již vytvořené pomocí yo
, proveďte následující kroky:
- Změňte adresář na kořenovou složku stávající aplikace. Například
cd ~/YeomanSamples/MyApplication
, pokudMyApplication
je aplikace vytvořená pomocí Yeomanu. - Spusťte příkaz
yo azuresfcsharp:AddService
.