Jogcím-ellenőrzési minta

Azure Event Grid
Azure Blob Storage

A jogcím-ellenőrzési minta lehetővé teszi a számítási feladatok számára a hasznos adatok átvitelét anélkül, hogy a hasznos adatokat egy üzenetkezelő rendszerben tárolják. A minta egy külső adattárban tárolja a hasznos adatokat, és egy "jogcím-ellenőrzést" használ a hasznos adatok lekéréséhez. A jogcím-ellenőrzés egy egyedi, homályos jogkivonat vagy kulcs. A hasznos adatok lekéréséhez az alkalmazásoknak be kell mutatniuk a jogcím-ellenőrzési jogkivonatot a külső adattárban.

Kontextus és probléma

A hagyományos üzenetkezelési rendszerek úgy vannak optimalizálva, hogy nagy mennyiségű kis üzenetet kezeljenek, és gyakran korlátozzák az általuk kezelhető üzenetméretet. A nagyméretű üzenetek nem csak a korlátok túllépését kockáztatják, hanem a teljes rendszer teljesítményét is ronthatják, amikor az üzenetkezelő rendszer tárolja őket.

Megoldás

Használja a jogcím-ellenőrzési mintát, és ne küldjön nagy üzeneteket az üzenetkezelő rendszernek. Ehelyett küldje el a hasznos adatokat egy külső adattárba, és hozzon létre egy jogcím-ellenőrzési jogkivonatot a hasznos adatokhoz. Az üzenetkezelő rendszer a jogcím-ellenőrzési jogkivonattal egy üzenetet küld a fogadó alkalmazásoknak, hogy ezek az alkalmazások le tudják kérni a hasznos adatokat az adattárból. Az üzenetkezelő rendszer soha nem látja vagy tárolja a hasznos adatokat.

A jogcím-ellenőrzési minta diagramja.

  1. Hasznos adat
  2. Mentse a hasznos adatokat az adattárban.
  3. Jogcím-ellenőrző jogkivonat létrehozása és üzenet küldése jogcím-ellenőrző jogkivonattal.
  4. Üzenet fogadása és jogcím-ellenőrzési jogkivonat olvasása.
  5. Kérje le a hasznos adatokat.
  6. A hasznos adatok feldolgozása.

A jogcím-ellenőrzési mintával kapcsolatos problémák és szempontok

Vegye figyelembe a következő javaslatokat a jogcím-ellenőrzési minta megvalósításakor:

  • A felhasznált üzenetek törlése. Ha nem kell archiválnia az üzenetet, törölje az üzenetet és a hasznos adatokat, miután a fogadó alkalmazások felhasználták. Használjon szinkron vagy aszinkron törlési stratégiát:

    • Szinkron törlés: A fogyasztó alkalmazás közvetlenül a használat után törli az üzenetet és a hasznos adatokat. A törlést az üzenetkezelési munkafolyamathoz társítja, és az üzenetkezelési munkafolyamat számítási kapacitását használja.

    • Aszinkron törlés: Az üzenetfeldolgozási munkafolyamaton kívüli folyamat törli az üzenetet és a hasznos adatokat. Leválasztja a törlési folyamatot az üzenetkezelési munkafolyamatról, és minimalizálja az üzenetkezelési munkafolyamat számítási funkciójának használatát.

  • A minta feltételes implementálása. Ha az üzenet mérete meghaladja az üzenetkezelő rendszer korlátját, akkor a jogcím-ellenőrzési mintát alkalmazó logikát kell beépíteni a küldő alkalmazásba. Kisebb üzenetek esetén hagyja figyelmen kívül a mintát, és küldje el a kisebb üzenetet az üzenetkezelő rendszernek. Ez a feltételes megközelítés csökkenti a késést, optimalizálja az erőforrások kihasználtságát, és javítja az átviteli sebességet.

Mikor érdemes használni a jogcím-ellenőrzési mintát?

A jogcím-ellenőrzési minta elsődleges használati esetei a következő forgatókönyvek:

  • Üzenetkezelési rendszer korlátozásai: Használja a Jogcím-ellenőrzési mintát, ha az üzenetméretek túllépik az üzenetkezelési rendszer korlátait. A hasznos adatok kiszervezése külső tárolóba. Csak a jogcím-ellenőrzési jogkivonattal rendelkező üzenetet küldje el az üzenetkezelő rendszernek.

  • Üzenetkezelési rendszer teljesítménye: Használja a jogcím-ellenőrzési mintát, ha nagy méretű üzenetek terhelik az üzenetkezelő rendszert, és csökkentik a rendszer teljesítményét.

A következő forgatókönyvek a jogcím-ellenőrzési minta másodlagos használati esetei:

  • Bizalmas adatvédelem: A jogcím-ellenőrzési mintát akkor használja, ha a hasznos adatok olyan bizalmas adatokat tartalmaznak, amelyek nem szeretnének láthatók lenni az üzenetkezelő rendszer számára. Alkalmazza a mintát a hasznos adatok bizalmas információinak egészére vagy részeire. Biztonságossá teheti a bizalmas adatokat anélkül, hogy közvetlenül az üzenetkezelő rendszeren keresztül továbbítanák.

  • Összetett útválasztási forgatókönyvek: A több összetevőn áthaladó üzenetek teljesítménybeli szűk keresztmetszeteket okozhatnak a szerializálási, deszerializálási, titkosítási és visszafejtési feladatok miatt. A jogcím-ellenőrzési minta használatával megakadályozhatja, hogy a közvetítő összetevők közvetlenül dolgozzanak fel üzeneteket.

Számítási feladatok tervezése jogcím-ellenőrzési mintával

Az építészeknek értékelniük kell, hogy a jogcím-ellenőrzési minta hogyan használható a számítási feladat kialakításában az Azure Well-Architected Framework pilléreiben foglalt célok és alapelvek kezelésére. Példa:

Pillér Hogyan támogatja ez a minta a pillércélokat?
A megbízhatósági tervezési döntések segítenek a számítási feladatnak ellenállóvá válni a hibás működéssel szemben, és biztosítják, hogy a hiba után teljesen helyreálljon. Az üzenetkezelő rendszerek nem biztosítják ugyanazt a megbízhatóságot és vészhelyreállítást, amely gyakran megtalálható a dedikált adattárakban. Az adatok üzenettől való elkülönítése nagyobb megbízhatóságot biztosíthat a hasznos adatok számára. Ez az elkülönítés megkönnyíti az adatredundanciát, amely lehetővé teszi a hasznos adatok helyreállítását egy katasztrófa után.

- RE:03 Hibamód elemzése
- RE:09 Vészhelyreállítás
A biztonsági tervezési döntések segítenek biztosítani a számítási feladatok adatainak és rendszereinek titkosságát, integritását és rendelkezésre állását. A jogcím-ellenőrzési minta képes bizalmas adatokat kinyerni az üzenetekből, és biztonságos adattárban tárolni. Ez a beállítás lehetővé teszi szigorúbb hozzáférés-vezérlések implementálását, biztosítva, hogy csak a bizalmas adatok használatára szánt szolgáltatások férhessenek hozzá. Ugyanakkor elrejti ezeket az adatokat a nem kapcsolódó szolgáltatásoktól, például az üzenetsor-figyeléshez használt szolgáltatásoktól.

- Standard kiadás:03 Adatbesorolás
- Standard kiadás:04 Szegmentálás
A költségoptimalizálás a számítási feladatok megtérülésének fenntartására és javítására összpontosít. Az üzenetkezelési rendszerek gyakran korlátozzák az üzenetek méretét, és a megnövekedett méretkorlátok gyakran prémium szintű funkciók. Az üzenettörzsek méretének csökkentésével olcsóbb üzenetkezelési megoldást használhat.

- CO:07 Összetevő költségei
- CO:09 Flow-költségek
A teljesítményhatékonyság a skálázás, az adatátvitel és a kódvégrehajtás optimalizálásával segíti a számítási feladatok hatékony kielégítését . A jogcím-ellenőrzési minta javítja az alkalmazások és az üzenetkezelő rendszer küldésének és fogadásának hatékonyságát a nagyméretű üzenetek hatékonyabb kezelésével. Csökkenti az üzenetkezelő rendszernek küldött üzenetek méretét, és biztosítja, hogy az alkalmazások csak szükség esetén férhessenek hozzá a nagy méretű üzenetekhez.

- PE:05 Skálázás és particionálás
- PE:12 Folyamatos teljesítményoptimalizálás

Mint minden tervezési döntésnél, fontolja meg az ezzel a mintával bevezethető többi pillér céljaival szembeni kompromisszumokat.

Példák jogcím-ellenőrzési mintára

Az alábbi példák bemutatják, hogyan segíti elő az Azure a jogcím-ellenőrzési minta megvalósítását:

  • Azure-üzenetkezelési rendszerek: A példák négy különböző Azure-üzenetkezelési rendszerforgatókönyvet fednek le: Azure Queue Storage, Azure Event Hubs (Standard API), Azure Service Bus és Azure Event Hubs (Kafka API).

  • Automatikus és manuális jogcím-ellenőrzési jogkivonat létrehozása: Ezek a példák két módszert is mutatnak a jogcím-ellenőrző jogkivonat létrehozásához. Az 1–3. kód példáiban az Azure Event Grid automatikusan létrehozza a jogkivonatot, amikor a küldő alkalmazás a hasznos adatokat az Azure Blob Storage-ba továbbítja. A 4. kód példája egy végrehajtható parancssori ügyfél használatával történő manuális jogkivonat-létrehozási folyamatot mutat be.

Válassza ki az igényeinek megfelelő példát, és a megadott hivatkozást követve tekintse meg a kódot a GitHubon:

Mintakód Üzenetkezelési rendszerforgatókönyvek Jogkivonat-generátor Alkalmazás fogadása Adattár
Példa kódra 1 Azure Queue Storage Azure Event Grid Függvény Azure Blob Storage
2. példakód Azure Event Hubs (Standard API) Azure Event Grid Végrehajtható parancssori ügyfél Azure Blob Storage
Példa 3- kódra Azure Service Bus Azure Event Grid Függvény Azure Blob Storage
Példa kódra 4 Azure Event Hubs (Kafka API) Végrehajtható parancssori ügyfél Függvény Azure Blob Storage

Következő lépések