Share via


Horizontálisan megosztott több-bérlős alkalmazás üzembe helyezése és felfedezése

A következőre vonatkozik: Azure SQL Database

Ebben az oktatóanyagban egy Wingtip Tickets nevű, több-bérlős SaaS-mintaalkalmazást telepít és ismer meg. A Wingtip Tickets alkalmazás célja az Azure SQL Database olyan funkcióinak bemutatása, amelyek leegyszerűsítik az SaaS-forgatókönyvek megvalósítását.

A Wingtip Tickets alkalmazás ezen implementációja horizontálisan skálázott több-bérlős adatbázismintát használ. A horizontális skálázás bérlőazonosító alapján történik. A bérlői adatok egy adott adatbázisba kerülnek elosztva a bérlőazonosító értékek alapján.

Ez az adatbázisminta lehetővé teszi egy vagy több bérlő tárolását minden szegmensben vagy adatbázisban. A legalacsonyabb költségekre úgy optimalizálhat, ha minden adatbázist több bérlő oszt meg. Vagy úgy is optimalizálhatja az elkülönítést, hogy minden adatbázis csak egy bérlőt tárol. Az optimalizálási választás minden egyes bérlő esetében egymástól függetlenül végezhető el. Dönthet úgy, hogy a bérlőt először tárolja, vagy később meggondolja magát. Az alkalmazás úgy lett kialakítva, hogy mindkét módon jól működjön.

Az alkalmazás gyorsan üzembe helyezhető

Az alkalmazás az Azure-felhőben fut, és az Azure SQL Database-t használja. Az alábbi üzembe helyezési szakasz a kék Üzembe helyezés az Azure-ban gombot tartalmazza. A gomb megnyomásakor az alkalmazás öt percen belül teljesen üzembe lesz helyezve az Azure-előfizetésben. Teljes hozzáféréssel rendelkezik az egyes alkalmazásösszetevők használatához.

Az alkalmazás három mintabérlemény adataival van üzembe helyezve. A bérlők egy több-bérlős adatbázisban vannak tárolva.

A Wingtip Tickets C# és PowerShell forráskódját bárki letöltheti a GitHub-adattárából.

Ebből az oktatóanyagból megtudhatja, hogy

  • A Wingtip Tickets SaaS-alkalmazás üzembe helyezése.
  • Hol szerezheti be az alkalmazás forráskódját és a felügyeleti szkripteket.
  • Az alkalmazást alkotó kiszolgálókról és adatbázisokról.
  • Hogyan vannak leképezve a bérlők az adataikhoz a katalógussal.
  • Új bérlő kiépítése.
  • Bérlői tevékenység figyelése az alkalmazásban.

Számos kapcsolódó oktatóanyag érhető el, amelyek erre a kezdeti üzembe helyezésre épülnek. Az oktatóanyagok számos SaaS-tervezési és felügyeleti mintát mutatnak be. Az oktatóanyagok elvégzésekor ajánlott végiglépkednie a megadott szkripteken, hogy megismerje a különböző SaaS-minták implementálását.

Előfeltételek

Az oktatóanyag teljesítéséhez a következő előfeltételeknek kell teljesülnie:

A Wingtip Tickets alkalmazás üzembe helyezése

A nevek megtervezése

A szakasz lépéseiben meg kell adnia egy felhasználói értéket, amely biztosítja, hogy az erőforrásnevek globálisan egyediek legyenek, valamint az erőforráscsoport nevét, amely tartalmazza az alkalmazás központi telepítése által létrehozott összes erőforrást. Egy Ann Finley nevű személy esetében a következőt javasoljuk:

  • Felhasználó:af1(A monogramjuk, plusz egy számjegy. Használjon másik értéket (például af2) az alkalmazás második üzembe helyezésekor.)
  • Erőforráscsoport:wingtip-mt-af1(wingtip-mt azt jelzi, hogy ez a több-bérlős szegmenses alkalmazás. Az af1 felhasználónév hozzáfűzése korrelálja az erőforráscsoport nevét a benne található erőforrások nevével.)

Most válassza ki a nevét, és írja le őket.

Lépések

  1. Kattintson a következő kék Üzembe helyezés az Azure-ban gombra.

    • Megnyitja az Azure Portalt a Wingtip Tickets SaaS üzembehelyezési sablonnal.

      Button for Deploy to Azure.

  2. Adja meg az üzembe helyezéshez szükséges paraméterértékeket.

    Fontos

    Ebben a bemutatóban ne használjon meglévő erőforráscsoportokat, kiszolgálókat vagy készleteket. Ehelyett válassza az Új erőforráscsoport létrehozása lehetőséget. Ha végzett az alkalmazással, törölje a létrehozott erőforráscsoportot a kapcsolódó számlázások leállításához. Ne használja ezt az alkalmazást vagy az általa létrehozott erőforrásokat éles környezetben. A hitelesítés egyes aspektusai és a kiszolgáló tűzfalbeállításai szándékosan nem biztonságosak az alkalmazásban a bemutató megkönnyítése érdekében.

    • Erőforráscsoport esetén – Válassza az Új létrehozása lehetőséget, majd adja meg az erőforráscsoport nevét (kis- és nagybetűk megkülönböztetése).
      • Válasszon egy helyet a legördülő listából.
    • Felhasználó esetén – Javasoljuk, hogy válasszon egy rövid felhasználói értéket.
  3. Az alkalmazás üzembe helyezése.

    • Kattintson ide a használati feltételek elfogadásához.
    • Kattintson a Purchase (Vásárlás) gombra.
  4. Az üzembe helyezés állapotának figyeléséhez kattintson az Értesítések gombra, amely a keresőmező jobb oldalán található harang ikon. A Wingtip alkalmazás üzembe helyezése körülbelül öt percet vesz igénybe.

    deployment succeeded

A felügyeleti szkriptek letöltése és letiltása

Az alkalmazás üzembe helyezése közben töltse le az alkalmazás forráskódját és felügyeleti szkripteit.

Megjegyzés:

A végrehajtható tartalmakat (szkripteket, DLL-eket) blokkolhatja a Windows, ha a zip-fájlokat külső forrásból töltik le és bontják ki. A parancsfájlok zip-fájlból való kinyerésekor a következő lépésekkel feloldhatja a .zip fájl letiltását a kinyerés előtt. A .zip fájl letiltásának feloldásával biztosíthatja, hogy a szkriptek futtathatók legyenek.

  1. Keresse meg a WingtipTicketsSaaS-MultiTenantDb GitHub adattárat.
  2. Kattintson a Klónozás vagy letöltés gombra.
  3. Kattintson a ZIP letöltése gombra, és mentse a fájlt.
  4. Kattintson a jobb gombbal a WingtipTicketsSaaS-MultiTenantDb-master.zip fájlra, és válassza a Tulajdonságok lehetőséget.
  5. Az Általános lapon válassza a Tiltás feloldása lehetőséget, majd kattintson az Alkalmaz gombra.
  6. Kattintson az OK gombra.
  7. Extract the files.

A szkriptek a ..-ban találhatók. \WingtipTicketsSaaS-MultiTenantDb-master\Tanulás Modules\ mappa.

Az üzembe helyezés konfigurációs fájljának frissítése

A szkriptek futtatása előtt állítsa be az erőforráscsoportot és a felhasználói értékeket a UserConfig.psm1 fájlban. Állítsa ezeket a változókat az üzembe helyezés során beállított értékekre.

  1. Nyissa meg a ...\Tanulás Modules\UserConfig.psm1 fájlt a PowerShell I Standard kiadás.
  2. Frissítse a ResourceGroupName és a Name nevet az üzemelő példány konkrét értékeivel (csak a 10. és a 11. sorban).
  3. Save the changes.

A fájlban beállított értékeket az összes szkript használja, ezért fontos, hogy pontosak legyenek. Ha újra üzembe helyezi az alkalmazást, különböző értékeket kell választania a felhasználó és az erőforráscsoport számára. Ezután frissítse ismét a UserConfig.psm1 fájlt az új értékekkel.

Az alkalmazás futtatása

A Wingtip alkalmazásban a bérlők helyszínek. A helyszín lehet koncertterem, sportklub vagy bármilyen más helyszín, ahol eseményeket rendeznek. A helyszínek ügyfélként regisztrálnak a Wingtipben, és minden helyszínhez létrehoz egy bérlőazonosítót. Minden helyszín felsorolja a közelgő eseményeket a Wingtipben, így a közönség jegyeket vásárolhat az eseményekre.

Minden helyszín személyre szabott webalkalmazást kap, amely felsorolja az eseményeket, és jegyeket ad el. Minden webalkalmazás független és elkülönítve van más bérlőktől. Az Azure SQL Database-ben az egyes bérlők adatai alapértelmezés szerint egy több-bérlős, horizontálisan megosztott adatbázisban lesznek tárolva. Minden adat a bérlőazonosítóval van megjelölve.

A központi eseményközpont weblapja a bérlőkre mutató hivatkozások listáját tartalmazza az adott üzemelő példányban. Az Eseményközpont weblapjának és egy egyéni webalkalmazásnak a megtekintéséhez kövesse az alábbi lépéseket:

  1. Nyissa meg az Eseményközpontot a webböngészőben:

    • http://events.wingtip-mt.<user.trafficmanager.net> (Cserélje le <a felhasználót> az üzembe helyezés felhasználói értékére.)

      events hub

  2. Kattintson a Fabrikam Jazz Club elemre az eseményközpontban.

    Events

Azure Traffic Manager

A bejövő kérések elosztásának szabályozásához a Wingtip alkalmazás az Azure Traffic Managert használja. Az egyes bérlők eseményoldala tartalmazza a bérlő nevét az URL-címében. Minden URL-cím tartalmazza az Ön felhasználóértékét is. Minden URL az alábbi lépések végrehajtásával követi a megjelenített formátumot:

  • http://events.wingtip-mt.<user.trafficmanager.net/> fabrikamjazzclub
  1. Az eseményalkalmazás elemzi a bérlő nevét az URL-címből. A bérlő neve fabrikamjazzclub az előző példa URL-címében.
  2. Az alkalmazás ezután kivonatot ad a bérlő nevéről, hogy létrehozhasson egy kulcsot a katalógushoz való hozzáféréshez a szegmenstérkép-kezelés használatával.
  3. Az alkalmazás megkeresi a kulcsot a katalógusban, és lekérte a bérlő adatbázisának megfelelő helyét.
  4. Az alkalmazás a helyadatok alapján keresi meg és éri el azt az adatbázist, amely a bérlő összes adatát tartalmazza.

Eseményközpont

  1. Az Eseményközpont felsorolja a katalógusban regisztrált összes bérlőt és azok helyszíneit.
  2. Az Event Hub kiterjesztett metaadatokat használ a katalógusban az egyes leképezésekhez társított bérlő nevének lekéréséhez az URL-címek létrehozásához.

Éles környezetben általában egy CNAME DNS-rekordot hoz létre, amely egy vállalati internetes tartományt a Traffic Manager-profilra irányít.

A bérlői adatbázisok terhelésének megkezdése

Most, hogy az alkalmazás üzembe lett helyezve, helyezzük üzembe! A Demo-LoadGenerator PowerShell-szkript minden bérlőhöz elindít egy számítási feladatot. Számos SaaS-alkalmazás valós terhelése általában szórványos és kiszámíthatatlan. Az ilyen típusú terhelés szimulálásához a generátor az összes bérlő között elosztott terhelést hoz létre. A terhelés véletlenszerű kipukkadásokat tartalmaz minden bérlőn véletlenszerű időközönként. A terhelési minta több percig is eltarthat, ezért a legjobb, ha legalább három vagy négy percig hagyja futni a generátort a terhelés monitorozása előtt.

  1. A PowerShell I Standard kiadás nyissa meg a ...\Tanulás Modules\Utilities\Demo-LoadGenerator.ps1 szkriptet.
  2. Nyomja le az F5 billentyűt a szkript futtatásához és a terhelésgenerátor indításához (egyelőre nem módosítsa az alapértelmezett paraméterértékeket).

A Demo-LoadGenerator.ps1 szkript egy másik PowerShell-munkamenetet nyit meg, ahol a terhelésgenerátor fut. A terhelésgenerátor ebben a munkamenetben egy előtérfeladatként fut, amely háttérbetöltési feladatokat hív meg, egy-egy bérlőhöz.

Az előtérben lévő tevékenység elindulása után feladat-invokáló állapotban marad. A feladat további háttérfeladatokat indít el a később kiépített új bérlőkhöz.

A PowerShell-munkamenet bezárása leállítja az összes feladatot.

Érdemes lehet újraindítani a terhelésgenerátor munkamenetét, hogy különböző paraméterértékeket használjon. Ha igen, zárja be a PowerShell-létrehozási munkamenetet, majd futtassa újra a Demo-LoadGenerator.ps1 fájlt.

Új bérlő kiépítése a szegmenses adatbázisba

A kezdeti üzembe helyezés három mintabérlõt tartalmaz a Tenants1 adatbázisban. Hozzunk létre egy másik bérlőt, és nézzük meg az üzembe helyezett alkalmazásra gyakorolt hatását. Ebben a lépésben egy billentyűt lenyomva hozzon létre egy új bérlőt:

  1. Nyissa meg a ...\Tanulás Modules\Provision and Catalog\Demo-ProvisionTenants.ps1 fájlt a PowerShell I Standard kiadás.

  2. Nyomja le az F5 billentyűt (nem az F8 billentyűt) a szkript futtatásához (egyelőre hagyja meg az alapértelmezett értékeket).

    Megjegyzés:

    A PowerShell-szkripteket csak az F5 billentyű lenyomásával kell futtatnia, az F8 billentyű lenyomásával nem. Az F8-nal az a probléma, hogy a $PSScriptRoot változó kiértékelése nem történik meg. Erre a változóra számos szkriptnek szüksége van a mappák közötti navigáláshoz, más szkriptek meghívásához vagy modulok importálásához.

Az új Red Maple Racing-bérlő hozzá lesz adva a Tenants1 adatbázishoz, és regisztrálva van a katalógusban. Megnyílik az új bérlő jegyértékesítési eseménywebhelye a böngészőben:

New tenant

Frissítse az Eseményközpontot, és az új bérlő megjelenik a listában.

Új bérlő kiépítése a saját adatbázisában

A horizontálisan megosztott több-bérlős modell lehetővé teszi, hogy eldöntse, hogy új bérlőt kíván-e kiépíteni egy olyan adatbázisba, amely más bérlőket tartalmaz, vagy egy saját adatbázisba. A saját adatbázisában elkülönített bérlők a következő előnyöket élvezik:

  • A bérlő adatbázisának teljesítménye anélkül kezelhető, hogy más bérlők igényeivel kellene kompromisszumot kötnie.
  • Szükség esetén az adatbázis visszaállítható egy korábbi időpontra, mert más bérlőkre nincs hatással.

Dönthet úgy, hogy az ingyenes próbaverziós ügyfeleket vagy a gazdaságos ügyfeleket több-bérlős adatbázisokba helyezi. Minden prémium szintű bérlőt saját dedikált adatbázisba helyezhet. Ha sok olyan adatbázist hoz létre, amely csak egy bérlőt tartalmaz, az erőforrások költségeinek optimalizálása érdekében együttesen kezelheti őket egy rugalmas készletben.

Ezután egy másik bérlőt építünk ki, ezúttal a saját adatbázisában:

  1. A ...\Tanulás Modules\Provision and Catalog\Demo-ProvisionTenants.ps1 fájlban módosítsa a $TenantName Salix Salsa-ra, $VenueType táncraés $Scenario 2-re.

  2. Nyomja le az F5 billentyűt a szkript ismételt futtatásához.

    • Ez az F5 billentyű lenyomásával az új bérlőt külön adatbázisban helyezi el. Az adatbázis és a bérlő regisztrálva van a katalógusban. Ezután megnyílik a böngésző a bérlő Események lapjára.

    Salix Salsa events page

    • Görgessen le az oldal aljára. A transzparensen megjelenik az adatbázis neve, amelyben a bérlői adatok tárolódnak.
  3. Frissítse az Eseményközpontot , és a két új bérlő megjelenik a listában.

A kiszolgálók és a bérlői adatbázisok megismerése

Most vizsgáljuk meg az üzembe helyezett erőforrások némelyikét:

  1. Az Azure Portalon keresse meg az erőforráscsoportok listáját. Nyissa meg az alkalmazás üzembe helyezésekor létrehozott erőforráscsoportot.

    resource group

  2. Kattintson a catalog-mt<felhasználói> kiszolgálóra. A katalóguskiszolgáló két, tenantcatalog és basetenantdb nevű adatbázist tartalmaz. A basetenantdb adatbázis egy üres sablonadatbázis. A program átmásolja egy új bérlői adatbázis létrehozásához, akár több bérlőhöz, akár csak egy bérlőhöz.

    Screenshot of the server Overview page that shows tenant catalog and base tenant db databases.

  3. Térjen vissza az erőforráscsoporthoz, és válassza ki a bérlői adatbázisokat tároló bérlői1-mt kiszolgálót .

    • A tenants1 adatbázis egy több-bérlős adatbázis, amelyben az eredeti három bérlőt és az első hozzáadott bérlőt tárolja a rendszer. 50 DTU Standard adatbázisként van konfigurálva.
    • A salixsalsa adatbázis egyetlen bérlője a Salix Salsa tánchelyszín. Alapértelmezés szerint standard kiadású adatbázisként van konfigurálva 50 DTU-val.

    Screenshot of the tenants1-mt server Overview page that shows the salixsalsa and tenants1 databases.

Az adatbázis teljesítményének figyelése

Ha a terhelésgenerátor több percig fut, elegendő telemetriai adat áll rendelkezésre az Azure Portalba beépített adatbázis-figyelési képességek megtekintéséhez.

  1. Keresse meg a bérlők1-mt felhasználói> kiszolgálót<, és kattintson a bérlők1 elemre a négy bérlőt tartalmazó adatbázis erőforrás-kihasználtságának megtekintéséhez. Minden bérlő szórványos terhelésnek van kitéve a terhelésgenerátortól:

    monitor tenants1

    A DTU kihasználtsági diagramja jól szemlélteti, hogy egy több-bérlős adatbázis hogyan támogat egy kiszámíthatatlan számítási feladatot számos bérlőben. Ebben az esetben a terhelésgenerátor körülbelül 30 DTU szórványos terhelést alkalmaz minden bérlőre. Ez a terhelés egy 50 DTU-adatbázis 60%-os kihasználtságának felel meg. A 60%-ot meghaladó csúcsok annak az eredménye, hogy a terhelés egyszerre több bérlőre is alkalmazva van.

  2. Keresse meg a bérlők1 mt felhasználói> kiszolgálót<, és kattintson a salixsalsa adatbázisra. Ezen az adatbázison láthatja az erőforrás-kihasználtságot, amely csak egy bérlőt tartalmaz.

    salixsalsa database

A terhelésgenerátor minden bérlőre hasonló terhelést alkalmaz, függetlenül attól, hogy az egyes bérlők melyik adatbázisban találhatóak. Ha a salixsalsa-adatbázisban csak egy bérlő található, láthatja, hogy az adatbázis sokkal nagyobb terhelést képes fenntartani, mint a több bérlőt tartalmazó adatbázis.

Az erőforrás-kiosztások számítási feladatonként eltérőek

A több-bérlős adatbázisok néha több erőforrást igényelnek a jó teljesítmény érdekében, mint az egybérlős adatbázisok, de nem mindig. Az erőforrások optimális kiosztása a rendszer bérlőinek adott számítási feladataitól függ.

A terhelésgenerátor-szkript által létrehozott számítási feladatok csak illusztrációs célokra szolgálnak.

További erőforrások

Következő lépések

Ez az oktatóanyag bemutatta az alábbiakat:

  • A Wingtip Tickets SaaS több-bérlős adatbázisalkalmazás üzembe helyezése.
  • Az alkalmazást alkotó kiszolgálókról és adatbázisokról.
  • A bérlők a katalógussal vannak leképezve az adataikhoz.
  • Új bérlők kiépítése több-bérlős adatbázisba és egybérlős adatbázisba.
  • A készlet kihasználtságának megtekintése a bérlői tevékenység figyeléséhez.
  • Mintaerőforrások törlése a kapcsolódó számlázás leállításához.

Most próbálja ki a Kiépítés és katalógus oktatóanyagot.