Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Számítási feladatok architektúráinak tervezésekor olyan iparági mintákat kell használnia, amelyek megoldják a gyakori kihívásokat. A minták segíthetnek szándékos kompromisszumokat hozni a számítási feladatokon belül, és optimalizálni a kívánt eredményt. Emellett segíthetnek az adott problémákból eredő kockázatok csökkentésében, ami hatással lehet a megbízhatóságra, a biztonságra, a költségekre és a műveletekre. Ha nem enyhítik, a kockázatok végül teljesítménybeli elégtelenséghez vezetnek. Ezeket a mintákat valós élmények biztosítják, felhőbeli méretezési és üzemeltetési modellekhez tervezték, és eredendően szállítói agnosztikusak. A jól ismert minták használata a számítási feladatok tervezésének szabványosítására a működési kiválóság egyik összetevője.
Számos tervezési minta közvetlenül támogat egy vagy több architektúraoszlopot. A Teljesítményhatékonyság pillért támogató tervezési minták a méretezhetőségre, a teljesítmény finomhangolására, a feladatok rangsorolására és a szűk keresztmetszetek eltávolítására szolgálnak.
Az alábbi táblázat a teljesítményhatékonyság céljait támogató architektúratervezési mintákat foglalja össze.
| Pattern | Összefoglalás |
|---|---|
| Aszinkron kérés–válasz | Javítja a rendszerek válaszkészségét és méretezhetőségét azáltal, hogy leválasztja az azonnali választ nem igénylő folyamatokhoz tartozó interakciók kérési és válaszfázisait. Aszinkron minta használatával maximalizálhatja az egyidejűséget a kiszolgáló oldalán. Ezzel a mintával ütemezheti a munka befejezését, ahogy a kapacitás lehetővé teszi. |
| Háttérrendszerek az előtérrendszerekhez | A számítási feladatok szolgáltatási rétegét egy adott előtérbeli felületre kizárólagos, különálló szolgáltatások létrehozásával személyre szabottá alakítja. Ez az elkülönítés lehetővé teszi, hogy olyan módon optimalizáljon, amely megosztott szolgáltatási réteggel esetleg nem lehetséges. Ha másként kezeli az egyes ügyfeleket, optimalizálhatja a teljesítményt egy adott ügyfél korlátaihoz és funkcióihoz. |
| Válaszfal | Szegmentálást vezet be az összetevők között, hogy elkülönítse a meghibásodások robbanási sugarát. Ez a kialakítás lehetővé teszi, hogy minden válaszfal egyenként méretezhető legyen, hogy megfeleljen a válaszfalba ágyazott feladat igényeinek. |
| Gyorsítótár-feltöltés | Optimalizálja a gyakran olvasható adatokhoz való hozzáférést egy igény szerint feltöltött gyorsítótár bevezetésével. Ezt követően a gyorsítótárat ugyanazon adatok későbbi kéréseihez használja a rendszer. Ez a minta különösen hasznos olyan írásvédett adatok esetén, amelyek nem változnak gyakran, és bizonyos mértékű elavultságot képesek elviselni. Ennek az implementációnak az a célja, hogy összességében jobb teljesítményt nyújtson a rendszerben azáltal, hogy az ilyen típusú adatokat kiszervezi egy gyorsítótárba, ahelyett, hogy az adattárból származtatja őket. |
| Koreográfia | Decentralizált, eseményvezérelt kommunikációval koordinálja a számítási feladatok autonóm elosztott összetevőinek viselkedését. Ez a minta alternatívát jelenthet, ha a központi vezénylési topológiában teljesítménybeli szűk keresztmetszetek lépnek fel. |
| Megszakító | Megakadályozza a hibás vagy nem elérhető függőségekre irányuló folyamatos kéréseket. Az újrapróbálkozási módszer túlzott erőforrás-kihasználtságot okozhat a függőségek helyreállítása során, és túlterhelheti a helyreállítást megkísérlõ függőség teljesítményét is. |
| Jogcím ellenőrzése | Elkülöníti az adatokat az üzenetkezelési folyamattól, így külön lekérheti az üzenethez kapcsolódó adatokat. Ez a minta javítja az üzenet közzétevőinek, előfizetőinek és magának az üzenetbusznak a hatékonyságát és teljesítményét, amikor a rendszer nagy adatmennyiségeket kezel. Úgy működik, hogy csökkenti az üzenetek méretét, és biztosítja, hogy a felhasználók csak szükség esetén és időszerű időben kérik le a hasznos adatokat. |
| Versengő fogyasztók | Elosztott és egyidejű feldolgozást alkalmaz az üzenetsor elemeinek hatékony kezelésére. Ez a modell támogatja a terhelés elosztását az összes fogyasztói csomóponton, és az üzenetsor mélységén alapuló dinamikus skálázást. |
| Számítási erőforrás-összevonás | Optimalizálja és összesíti a számítási erőforrásokat a sűrűség növelésével. Ez a minta egy megosztott infrastruktúra számítási feladatainak több alkalmazását vagy összetevőjét egyesíti. Ez az összevonás maximalizálja a számítási erőforrások kihasználtságát azáltal, hogy tartalék csomópontkapacitást használ a túlterjedés csökkentése érdekében. Gyakori példa a tárolóvezénylőkre. A nagyméretű (vertikálisan skálázott) számítási példányokat gyakran használják az erőforráskészletben ezekhez az infrastruktúrákhoz. |
| Parancs- és lekérdezési felelősség elkülönítése (CQRS) | Elkülöníti az alkalmazás adatmodelljének olvasási és írási műveleteit. Ez az elkülönítés célzott teljesítményt és skálázási optimalizálást tesz lehetővé az egyes műveletek konkrét céljához. Ez a kialakítás leginkább azokban az alkalmazásokban hasznos, amelyekben magas az írás-olvasás aránya. |
| Üzembehelyezési bélyegzők | Az alkalmazás és infrastruktúrája egy adott verziójának szabályozott üzembe helyezési egységként való kiadására szolgál annak feltételezése alapján, hogy ugyanazon vagy különböző verziók egyidejűleg lesznek üzembe helyezve. Ez a minta gyakran igazodik a számítási feladatban megadott méretezési egységekhez: mivel az egyetlen méretezési egység által biztosított kapacitáson túl további kapacitásra van szükség, a rendszer további üzembe helyezési bélyeget helyez üzembe a horizontális felskálázáshoz. |
| Event Sourcing | Az állapotváltozást események sorozataként kezeli, és egy nem módosítható, hozzáfűzhető naplóban rögzíti őket. A számítási feladattól függően ez a minta, amely általában a CQRS-sel, a megfelelő tartománytervezéssel és a stratégiai pillanatképkészítéssel kombinálva javítja a teljesítményt. A teljesítménybeli javulás oka az atomi hozzáfűzési műveletek, valamint az adatbázisok írási és olvasási zárolásának elkerülése. |
| Összevont identitás | Megbízik egy olyan identitásszolgáltatóban, amely kívül esik a számítási feladaton a felhasználók kezeléséhez és az alkalmazás hitelesítésének biztosításához. A felhasználók felügyeletének és hitelesítésének kiszervezésekor az alkalmazás erőforrásait más prioritásoknak is szentelheti. |
| Kapus | A kérelmek feldolgozásának kiszervezése, amely kifejezetten a biztonsági és hozzáférés-vezérlési kényszerítéshez szükséges a kérés háttércsomópontra történő továbbítása előtt és után. Ezt a mintát gyakran használják a szabályozás átjárószinten történő implementálásához ahelyett, hogy sebességellenőrzéseket implementálnak a csomópont szintjén. A sebességállapot koordinálása az összes csomópont között nem eredendően nem teljesít. |
| Átjáró-összesítés | Leegyszerűsíti az ügyfél és a számítási feladat közötti interakciót azáltal, hogy egyetlen kérelemben több háttérszolgáltatás hívásait összesíti. Ez a kialakítás kisebb késést okozhat, mint egy olyan terv, amelyben az ügyfél több kapcsolatot létesít. A gyorsítótárazás az aggregációs implementációkban is gyakori, mivel minimálisra csökkenti a háttérrendszerek hívásait. |
| Átjáró kiszervezése | A kérés feldolgozásának kiszervezése átjáróeszközre a kérés háttércsomópontra történő továbbítása előtt és után. Ha kiszervezési átjárót ad hozzá a kérési folyamathoz, az lehetővé teszi, hogy csomópontonként kevesebb erőforrást használjon, mert a funkciók központosítva lesznek az átjárón. A kiszervezett funkciók implementációját az alkalmazáskódtól függetlenül optimalizálhatja. A kiszervezett platform által biztosított funkciók már valószínűleg nagy teljesítményűek. |
| Átjáró útválasztása | A bejövő hálózati kéréseket különböző háttérrendszerekhez irányítja a kérési szándékok, az üzleti logika és a háttérbeli rendelkezésre állás alapján. Az átjáró-útválasztás lehetővé teszi a forgalom elosztását a rendszer csomópontjai között a terheléselosztás érdekében. |
| Geodéziai | Aktív-aktív rendelkezésre állási módban működő rendszereket helyez üzembe több földrajzi régióban. Ez a minta adatreplikálással támogatja azt az ideális megoldást, amellyel bármely ügyfél bármilyen földrajzi példányhoz csatlakozhat. Használatával az alkalmazást az elosztott felhasználói bázishoz legközelebbi régióból is kiszolgálhatja. Ez csökkenti a késést azáltal, hogy megszünteti a távolsági forgalmat, és mivel az infrastruktúrát csak olyan felhasználók között osztja meg, amelyek jelenleg ugyanazt a földrajzi régiót használják. |
| Állapotvégpont monitorozása | Lehetővé teszi a rendszer állapotának vagy állapotának monitorozását egy kifejezetten erre a célra tervezett végpont felfedésével. Ezekkel a végpontokkal javíthatja a terheléselosztást úgy, hogy csak kifogástalan állapotú csomópontokra irányítja a forgalmat. További konfigurációval metrikákat is lekérhet az elérhető csomópontkapacitáson. |
| Indextábla | Optimalizálja az adatok lekérését az elosztott adattárakban azáltal, hogy lehetővé teszi az ügyfelek számára a metaadatok keresését, hogy az adatok közvetlenül lekérhetők legyenek, elkerülve a teljes adattárvizsgálatot. Az ügyfelek a szegmensükre, partíciójukra vagy végpontjukra mutatnak, amelyek lehetővé teszik a dinamikus adatparticionálást a teljesítményoptimalizáláshoz. |
| Materializált nézet | Az adatok előkompatitív nézeteit használja az adatlekérés optimalizálásához. A materializált nézetek az összetett számítások vagy lekérdezések eredményeit tárolják anélkül, hogy az adatbázismotor vagy az ügyfél minden kéréshez újrafordítanák. Ez a kialakítás csökkenti a teljes erőforrás-felhasználást. |
| Prioritási üzenetsor | Biztosítja, hogy a magasabb prioritású elemek feldolgozása és befejezése az alacsonyabb prioritású elemek előtt történik. Az üzleti prioritás alapján elválasztó elemek lehetővé teszik, hogy a teljesítményre irányuló erőfeszítéseket a leginkább időérzékeny munkára összpontosítsa. |
| Közzétevő/előfizető | Leválasztja az architektúra összetevőit úgy, hogy a közvetlen ügyfél-szolgáltatás közötti vagy ügyfél-szolgáltatások közötti kommunikációt egy köztes üzenetközvetítőn vagy eseménybuszon keresztüli kommunikációra cseréli. A közzétevők fogyasztóktól való leválasztásával optimalizálhatja a számítást és a kódot kifejezetten arra a feladatra, amelyet a fogyasztónak el kell végeznie az adott üzenethez. |
| Queue-Based terheléselosztás | A bejövő kérések vagy feladatok szintjét úgy szabályozza, hogy puffereli őket egy üzenetsorba, és lehetővé teszi, hogy az üzenetsor-feldolgozó szabályozott ütemben kezelje őket. Ez a megközelítés lehetővé teszi az átviteli sebesség szándékos tervezését, mivel a kérelmek bevitelének nem kell korrelálnia a feldolgozásuk sebességével. |
| Ütemezőügynök felügyelője | Hatékonyan osztja el és terjeszti a feladatokat a rendszerben megfigyelhető tényezők alapján. Ez a minta teljesítmény- és kapacitásmetrikákat használ az aktuális kihasználtság észleléséhez, és a tevékenységeket egy kapacitással rendelkező ügynökhöz irányítja. Használatával rangsorolhatja a magasabb prioritású munka végrehajtását az alacsonyabb prioritású munkával szemben. |
| Horizontális skálázás | A terhelést egy adott logikai célhelyre irányítja egy adott kérés kezeléséhez, lehetővé téve a közös elhelyezést az optimalizáláshoz. Ha horizontális skálázást használ a skálázási stratégiában, az adatok vagy a feldolgozás egy szegmenshez van elkülönítve, így az erőforrásokért csak az adott szegmenshez irányított egyéb kérésekkel versenyez. A földrajzi adatok alapján a horizontális skálázást is használhatja. |
| Oldalkocsi | Kibővíti az alkalmazások funkcióit úgy, hogy nem elsődleges vagy keresztvágású feladatokat foglal bele egy olyan társfolyamatba, amely a fő alkalmazás mellett létezik. A keresztvágási feladatokat egyetlen folyamatba helyezheti át, amely a fő folyamat több példányára is skálázható, ami csökkenti a duplikált funkciók üzembe helyezésének szükségességét az alkalmazás egyes példányai esetében. |
| Statikus tartalom üzemeltetése | Optimalizálja a statikus tartalom átvitelét a számítási feladatokat használó ügyfeleknek egy erre a célra tervezett üzemeltetési platform használatával. A külső gazdagépek felelősségének kiszervezése segít csökkenteni a torlódást, és lehetővé teszi, hogy az alkalmazásplatformot csak az üzleti logika megvalósítására használja. |
| Szabályozás | Korlátozza az erőforrásra vagy összetevőre irányuló bejövő kérelmek sebességét vagy átviteli sebességét. Ha a rendszer nagy terhelés alatt áll, ez a minta segít csökkenteni a torlódásokat, amelyek teljesítménybeli szűk keresztmetszetekhez vezethetnek. Emellett proaktív módon elkerülheti a zajos szomszéd forgatókönyveket. |
| Valet Key | Korlátozott biztonsági hozzáférést biztosít egy erőforráshoz anélkül, hogy közvetítő erőforrást használ a hozzáférés proxyzásához. Ennek során az ügyfél és az erőforrás közötti kizárólagos kapcsolatként végzi a feldolgozást anélkül, hogy olyan nagykövet-összetevőre lenne szükség, amely az összes ügyfélkérést teljesíthető módon kell kezelnie. Ennek a mintának az előnye akkor a legjelentősebb, ha a proxy nem ad értéket a tranzakcióhoz. |
Következő lépések
Tekintse át az Azure Well-Architected-keretrendszer többi pillérét támogató architektúratervezési mintákat: