Rövid útmutató: .NET Reliable Services-alkalmazás üzembe helyezése a Service Fabricben
Az Azure Service Fabric egy elosztott rendszerplatform, amely skálázható és megbízható mikroszolgáltatások és tárolók üzembe helyezésére és kezelésére szolgál.
Ez a rövid útmutató bemutatja, hogyan helyezheti üzembe első .NET-alkalmazását a Service Fabricben. Az útmutató elvégzése után rendelkezni fog egy ASP.NET Core webes kezelőfelületes szavazóalkalmazással, amely egy, a fürtben található állapotalapú háttérszolgáltatásba menti a szavazati adatokat.
Az alkalmazás használatával a következőkkel ismerkedhet meg:
- Alkalmazás létrehozása a .NET és a Service Fabric használatával
- A ASP.NET core használata webes előtérként
- Alkalmazásadatok tárolása állapotalapú szolgáltatásban
- Alkalmazás helyi hibakeresése
- Az alkalmazás vertikális felskálázása több csomóponton
- Alkalmazás frissítése működés közben
Előfeltételek
Az oktatóanyag elvégzéséhez:
Telepítse a Visual Studio 2019-et az Azure fejlesztési , ASP.NET- és webfejlesztési számítási feladataival.
Futtassa a következő parancsot, amellyel engedélyezheti a Visual Studio üzembe helyezését a helyi Service Fabric-fürtön:
Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Force -Scope CurrentUser
Fürt létrehozása
A futtatókörnyezet, az SDK-k, a Visual Studio-eszközök, a Docker és a Docker futtatása után hozzon létre egy ötcsomópontos helyi fejlesztési fürtöt.
Megjegyzés
A Docker azért fut a fürt létrehozásakor, mert a fürt úgy lett létrehozva, hogy engedélyezve vannak a tárolófunkciók. Ha a Docker nem fut, újra létre kell hoznia a fürtöt a tárolófunkciók engedélyezéséhez.
Bár ez a rövid útmutató szükségtelen, ajánlott eljárásként szerepel a Dockernek a fürt létrehozásakor történő futtatására vonatkozó utasítás.
A Docker futásának ellenőrzéséhez nyisson meg egy terminálablakot, majd a docker ps
parancs futtatásával ellenőrizze, hogy történik-e hiba. Ha a válasz nem jelez hibát, akkor a Docker fut, és készen áll a fürt létrehozására.
Nyisson meg egy új, emelt szintű PowerShell-ablakot rendszergazdaként.
Futtassa az alábbi PowerShell-parancsot egy fejlesztési fürt létrehozásához:
. "C:\Program Files\Microsoft SDKs\Service Fabric\ClusterSetup\DevClusterSetup.ps1"
Futtassa a következő parancsot a helyi fürtkezelő eszköz elindításához:
. "C:\Program Files\Microsoft SDKs\Service Fabric\Tools\ServiceFabricLocalClusterManager\ServiceFabricLocalClusterManager.exe"
Megjegyzés
A jelen rövid útmutatóban szereplő mintaalkalmazás olyan funkciókat használ, amelyek Windows 7 rendszeren nem érhetők el.
A minta letöltése
Egy parancssori ablakban futtassa a következő parancsot a mintaalkalmazás-adattár helyi számítógépre történő klónozásához.
git clone https://github.com/Azure-Samples/service-fabric-dotnet-quickstart
Az alkalmazás helyi futtatása
A Start menüben kattintson a jobb gombbal a Visual Studio ikonra, majd válassza a Futtatás rendszergazdaként lehetőséget. Ha a hibakeresőt a szolgáltatásokhoz szeretné csatolni, rendszergazdaként kell futtatnia a Visual Studiót.
Nyissa meg a Voting.sln Visual Studio-megoldást a klónozott adattárból.
Alapértelmezés szerint a szavazóalkalmazás a 8080-s porton figyel. Az alkalmazásport a /VotingWeb/PackageRoot/ServiceManifest.xml fájlban van beállítva. Az alkalmazásport a Végpont elem Port attribútumának átírásával módosítható. Az alkalmazás helyi üzembe helyezéséhez és futtatásához az alkalmazásportnak a számítógépen megnyitva és elérhető állapotban kell lennie. Ha módosítja az alkalmazásportot, cserélje le a jelen cikk "8080" új alkalmazásport-értékét.
Az alkalmazás üzembe helyezéséhez nyomja le az F5 billentyűt.
Megjegyzés
A Visual Studio kimeneti ablakában a következő üzenet jelenik meg: "Az alkalmazás URL-címe nincs beállítva, vagy nem HTTP/HTTPS URL-cím, így a böngésző nem nyílik meg az alkalmazás számára." Ez az üzenet nem jelez hibát, de a böngésző nem indítja el automatikusan.
Amikor az üzembe helyezés befejeződött, nyisson meg egy böngészőt, és nyissa meg http://localhost:8080
az alkalmazás webes előtérének megtekintéséhez.
Most hozzáadhat szavazási lehetőségeket az alkalmazáshoz, és megkezdheti a szavazatok gyűjtését. Az alkalmazás különálló adatbázis nélkül futtatja és tárolja az összes adatot a Service Fabric-fürtben.
A mintául szolgáló szavazóalkalmazás bemutatása
A szavazóalkalmazás két szolgáltatásból áll:
- Webes kezelőfelületi szolgáltatás (VotingWeb) – Olyan ASP.NET Core webes kezelőfelületi szolgáltatás, amely kiszolgálja a weboldalt, és webes API-kat biztosít a háttérszolgáltatással folytatott kommunikációhoz.
- Háttérszolgáltatás (VotingData) – Olyan ASP.NET Core webszolgáltatás, amely egy API-t biztosít a szavazási eredmények tárolásához egy megbízható, lemezen őrzött szótárban.
Amikor az alkalmazásban szavaz, a következő események történnek:
A JavaScript HTTP PUT kérelemként elküldi a szavazati kérést a webes API-nak a webes kezelőfelületi szolgáltatásban.
A webes kezelőfelületi szolgáltatás egy proxy segítségével megkeresi és továbbítja a HTTP PUT kérelmet a háttérszolgáltatásnak.
A háttérszolgáltatás fogadja a bejövő kérelmet, és egy megbízható szótárban tárolja a frissített eredményt, amelyet a fürt több csomópontjára is replikál, és egy lemezen őriz. Az alkalmazás összes adata a fürtön tárolódik, így nincs szükség adatbázisra.
Hibakeresés a Visual Studióban
Az alkalmazásnak megfelelően kellene futnia, de a hibakeresővel megtekintheti, hogyan működnek az alkalmazás fő részei. Az alkalmazás Visual Studióban történő hibakeresésekor egy helyi Service Fabric-fejlesztési fürtöt használ. A hibakeresési élményt a forgatókönyvéhez igazíthatja. Ebben az alkalmazásban az adatokat a háttérszolgáltatás tárolja egy megbízható szótárban. A Visual Studio alapértelmezés szerint a hibakereső leállításakor eltávolítja az alkalmazást. Az alkalmazás eltávolításával a háttérszolgáltatásban tárolt adatok is el lesznek távolítva. Ha meg szeretné őrizni az adatokat a hibakeresési munkamenetek között, nyissa meg a Szavazóprojekttulajdonságai lapot, és módosítsa az alkalmazás hibakeresési módjátautomatikus frissítésre.
Ha szeretné megtekinteni, hogy mi történik a kódban, hajtsa végre a következő lépéseket:
Nyissa meg a /VotingWeb/Controllers/VotesController.cs fájlt, és állítson be egy töréspontot a webes API Put metódusában (69. sor). A fájlt megkeresheti a Visual Studio Megoldáskezelőjében.
Nyissa meg a /VotingData/Controllers/VoteDataController.cs fájlt, és állítson be egy töréspontot a webes API Put metódusában (54. sor).
Térjen vissza a böngészőhöz, és kattintson egy szavazási lehetőségre vagy adjon meg egy újat. Az első töréspont a webes kezelőfelület API-vezérlőjében jelentkezik.
Ebben a lépésben a böngészőBen található JavaScript kérést küld a webes API-vezérlőnek az előtérbeli szolgáltatásban.
Elsőként hozza létre a ReverseProxyra mutató URL-címet a háttérszolgáltatás számára (1).
Ezután küldje el a HTTP PUT kérelmet a ReverseProxyhoz (2).
Végül küldje vissza a választ a háttérszolgáltatásból az ügyfélhez (3).
A folytatáshoz nyomja le az F5 billentyűt
Ha a böngésző kéri adjon olvasási és végrehajtási engedélyeket a ServiceFabricAllowedUsers csoportnak a hibakeresési módban.
Most már a háttérszolgáltatás töréspontján van.
A metódus első sorában (1) a
StateManager
egycounts
nevű megbízható szótárat kér le vagy ad meg.A megbízható szótárakban tárolt értékekkel folytatott mindennemű interakcióhoz tranzakcióra van szükség, amelyet ez a using utasítás (2) hoz létre.
A tranzakcióban frissítse a szavazási lehetőséghez tartozó kulcs értékét, majd véglegesítse a műveletet (3). Ha a véglegesítési metódus visszatért, az adatok frissülnek a szótárban, és a fürt egyéb csomópontjaira is replikálódnak. Az adatok ettől fogva biztonságosan tárolódnak a fürtön, és a háttérszolgáltatás feladatait más csomópontok is átvehetik, míg az adatok továbbra is elérhetők maradnak.
A folytatáshoz nyomja le az F5 billentyűt
A hibakeresési munkamenet leállításához nyomja le a Shift+F5 billentyűkombinációt.
Alkalmazás frissítése működés közben
Ha új frissítéseket telepít az alkalmazásban, a Service Fabric biztonságosan elvégzi a frissítést. A működés közbeni frissítésnek köszönhetően állásidő nélkül végezhet frissítéseket, és hiba esetén a rendszer automatikusan visszaállítást kezdeményez.
Az alkalmazás frissítéséhez tegye a következőket:
Nyissa meg a /VotingWeb/Views/Home/Index.cshtml fájlt a Visual Studióban.
Módosítsa az oldal fejlécét szöveg hozzáadásával vagy a meglévő szöveg frissítésével. Módosítsa például a fejlécet a következőre: „Service Fabric Voting Sample v2”.
Mentse a fájlt.
A Megoldáskezelőben kattintson a jobb gombbal a Voting (Szavazás) elemre, majd válassza a Publish (Közzététel) lehetőséget. Ekkor megjelenik a Publish (Közzététel) párbeszédpanel.
Kattintson a Manifest Version (Jegyzékverzió) gombra a szolgáltatás és az alkalmazás verziójának módosításához.
Módosítsa a Code (Kód) elemet a VotingWebPkg résznél például „2.0.0”-ra, majd kattintson a Save (Mentés) gombra.
A Service Fabric-alkalmazás közzététele párbeszédpanelen jelölje be az Alkalmazás frissítése jelölőnégyzetet.
Módosítsa a CélprofiltPublishProfiles\Local.5Node.xml értékre, és győződjön meg arról, hogy a kapcsolatvégponthelyi fürtre van állítva.
Válassza az Alkalmazás frissítése lehetőséget.
Kattintson a Közzététel gombra.
Frissítés közben az alkalmazás továbbra is használható. Mivel a fürtön a szolgáltatás két példánya fut, a kérelmek egy része már az alkalmazás frissített verziójával találkozik, míg mások továbbra is a régebbivel.
Nyissa meg a böngészőt, és keresse meg a fürt címét az 19080-s porton. Például:
http://localhost:19080/
.Kattintson az Alkalmazások csomópontra a fanézetben, majd a jobb oldali ablaktáblán található Folyamatban lévő frissítések elemre. Ekkor láthatja, hogy a frissítés hogyan lépked végig a fürt frissítési tartományain, miközben továbblépés előtt minden tartomány állapotát ellenőrzi. A frissítési tartomány zöld színnel jelenik meg a folyamatjelzőn, ha a tartomány állapota ellenőrizve lett.
A Service Fabric a biztonságos frissítés érdekében a fürt minden egyes csomópontjának frissítése után két percet várakozik. A teljes frissítés körülbelül nyolc percet vesz igénybe.
Következő lépések
Ennek a rövid útmutatónak a segítségével megtanulta a következőket:
- Alkalmazás létrehozása a .NET és a Service Fabric használatával
- A ASP.NET core használata webes előtérként
- Alkalmazásadatok tárolása állapotalapú szolgáltatásban
- Alkalmazás helyi hibakeresése
- Az alkalmazás vertikális felskálázása több csomóponton
- Alkalmazás frissítése működés közben
A Service Fabrickel és a .NET-tel kapcsolatos további tudnivalókért tekintse át a következő oktatóanyagot: