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.

Képernyőkép az alkalmazásról

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:

  1. Telepítse a Visual Studio 2019-et az Azure fejlesztési , ASP.NET- és webfejlesztési számítási feladataival.

  2. A Git telepítése

  3. A Microsoft Azure Service Fabric SDK telepítése

  4. 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.

Windows 10 vagy Windows Server beállítása tárolókhoz

  1. Nyisson meg egy új, emelt szintű PowerShell-ablakot rendszergazdaként.

  2. 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"
    
  3. 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.

Alkalmazás kezelőfelülete

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.

Alkalmazásdiagram

Amikor az alkalmazásban szavaz, a következő események történnek:

  1. 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.

  2. 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.

  3. 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:

  1. 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.

  2. 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).

  3. 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.

      Szavazási kezelőfelületi szolgáltatás hozzáadása

    • 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).

  4. 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.

      Szavazási háttérszolgáltatás hozzáadása

    • A metódus első sorában (1) a StateManager egy counts 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.

  5. 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:

  1. Nyissa meg a /VotingWeb/Views/Home/Index.cshtml fájlt a Visual Studióban.

  2. 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”.

  3. Mentse a fájlt.

  4. 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.

  5. Kattintson a Manifest Version (Jegyzékverzió) gombra a szolgáltatás és az alkalmazás verziójának módosításához.

  6. 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.

    Verzió módosítása párbeszédpanel

  7. 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.

  8. 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.

  9. Válassza az Alkalmazás frissítése lehetőséget.

    A Közzététel párbeszédpanel frissítési beállításai

  10. 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.

  11. 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/.

  12. 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. Frissítési nézet a Service Fabric Explorer

    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: