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.
Alkalmazható minden API Management-szintre
Gyorsítótárazást konfigurálhat az Azure API Managementben az API-kérésekre és a kapcsolódó információkra adott válaszok tárolására és lekérésére. A háttérszolgáltatásokból érkező válaszok tárolásával az API Management közvetlenül a gyorsítótárból tudja kiszolgálni az ezt követő azonos kéréseket, így nem kell többször meghívnia a háttérszolgáltatást. A gyorsítótárazás javíthatja az API teljesítményét, csökkentheti a háttérbetöltést, és javíthatja az API-kat hívó ügyfelek általános élményét az API Management használatával.
Ez a cikk az API Management gyorsítótárazási lehetőségeit ismerteti, és kiemeli a legfontosabb forgatókönyveket és konfigurációs szempontokat.
Fontos
A gyorsítótárazáshoz szükség van egy gyorsítótárazási szolgáltatásra – vagy az API Management szolgáltatás részeként automatikusan üzembe helyezett belső gyorsítótárra, vagy egy Ön által üzembe helyezett külső gyorsítótárra –, valamint a gyorsítótárazási szabályzatok konfigurálására , hogy meg lehessen határozni, hogyan kell gyorsítótárazást alkalmazni az API-kérésekre.
Gyorsítótárazási szolgáltatás beállításai
Az Azure API Management a következő gyorsítótárazási szolgáltatási lehetőségeket kínálja a különböző teljesítmény- és architektúrakövetelmények teljesítéséhez.
Belső (beépített): A belső (beépített) gyorsítótár automatikusan ki van építve minden API Management szolgáltatásszinten (kivéve a használati szintet). A belső gyorsítótár-implementáció különbözik a klasszikus szintek (Fejlesztői, Alapszintű, Standard és Prémium) és a v2-szintek (Alapszintű v2, Standard v2 és Prémium v2) között. A beépített gyorsítótár a v2-szintekben fokozott megbízhatóságot biztosít. További információ a beépített gyorsítótár használatáról.
Külső gyorsítótár: A nagyobb teljesítmény és adatmegőrzés érdekében szükség esetén konfiguráljon egy külső Redis-kompatibilis gyorsítótárat, például az Azure Managed Redist, hogy bármilyen API Management szolgáltatásszinttel vagy átjáróval használható legyen. További információ a külső gyorsítótár beállításáról az Azure Managed Redis használatával.
Az alábbi táblázat a belső és a külső gyorsítótár képességeit hasonlítja össze.
| Capability | Belső | External |
|---|---|---|
| Automatikus kiépítés és kezelés | ✔️ | ❌ |
| Hozzáadott költség | ❌ | ✔️ |
| Egyéni konfiguráció | ❌ | ✔️ |
| Rendelkezésre állás az összes szinten és átjáróban | Nem érhető el a használati szint vagy a saját üzemeltetésű átjáró | ✔️ |
| Regionális tárolás | A gyorsítótár az API Management példánnyal megegyező régióban van biztosítva, és megosztott a skálázási egységek között. Többrégiós üzembe helyezés esetén minden régió saját gyorsítótárral rendelkezik. |
Az ügyfél előnyben részesítésétől függ |
| Állandó tárterület | Tartós a v2 szinteken. A klasszikus (fejlesztői, alapszintű, standard és prémium) szinteken a gyorsítótár tartalma nem marad meg a szolgáltatásfrissítések végrehajtásakor. |
✔️ |
| Rétegenkénti korlátok | A gyorsítótár mérete szolgáltatási szint szerint változik | Nincs korlátozva |
| Több API Management-példány közös hozzáférése | ❌ | ✔️ |
| Szemantikai gyorsítótárazás támogatása | ❌ | ✔️ |
| Adatbetöltés és -törlés támogatása | ❌ | ✔️ |
Gyorsítótárazási forgatókönyvek
Használja a gyorsítótárazást az Azure API Managementben olyan forgatókönyvekhez, mint az alábbi táblázatban szereplők.
| Scenario | Description | Gyorsítótár típusa | A gyorsítótár rendelkezésre állásának vagy kapcsolatának elvesztésével kapcsolatos viselkedés |
|---|---|---|---|
| Ügyfélélmény optimalizálása | Az ügyfelek ismétlődő kérésfeldolgozásának felgyorsítása. | Belső vagy külső | A háttérrendszer kéréseket szolgál ki, és teljes terhelést kell kezelnie, ha a gyorsítótár nem érhető el. |
| Költségek és háttérbeli skálázás szabályozása | Csökkentse a háttérbetöltést és a költségeket, ha a háttérrendszer nincs teljes forgalomra skálázva. | External | A gyorsítótár és a szolgáltatás konfigurációjától függ. Javaslat: Válasszon ki egy gyorsítótár-szolgáltatási szintet, amely a legnagyobb megbízhatósággal és a monitorozási teljesítménnyel rendelkezik. |
| Metaadattár | A gyorsítótár-tároló érték használatával tetszőleges adatokat tárolhat a gyorsítótárban. | Belső vagy külső | A gyorsítótár és a szolgáltatás konfigurációjától függ. |
Considerations:
Bármilyen gyorsítótárazási forgatókönyv esetén vegye figyelembe a gyorsítótár rendelkezésre állásának vagy kapcsolatának esetleges elvesztését. Az API Management a gyorsítótár elérhetőségére "legjobb szándékú" megközelítést alkalmaz. Ha egy konfigurált gyorsítótár nem érhető el, a gyorsítótár nem jelenik meg, és alapértelmezés szerint a kérések továbbra is a háttérszolgáltatáshoz kerülnek.
A klasszikus API Management-szinteken a belső gyorsítótár változékony, és nem marad fenn a szolgáltatásfrissítések között. Szolgáltatásfrissítés során a belső gyorsítótár fokozatosan törlődik, alkalmanként legfeljebb a gyorsítótár 50%-a kerül törlésre.
Megjegyzés:
Konfigurálhatja a szolgáltatásfrissítési beállításokat, beleértve a frissítések karbantartási időszakát is, hogy minimalizálja a potenciális ügyfélhatásokat, például a belső gyorsítótár elvesztését.
Ha konfigurál egy külső gyorsítótárat, az állandó lehet, de ön a felelős a rendelkezésre állás és a kapcsolat biztosításáért.
Ha meg szeretné védeni a háttérszolgáltatást azoktól a forgalomcsúcsoktól, amelyek túlterhelhetik azt, ha a gyorsítótár nem érhető el, konfiguráljon egy sebességkorlátozó szabályzatot (sebességkorlátozó vagy sebességkorlátozási kulcs szerint) közvetlenül a gyorsítótár-keresési szabályzatok után.
Gyorsítótárazási szabályzatok
Gyorsítótárazási szabályzatok konfigurálása az API-válaszok gyorsítótárazásának és lekérésének szabályozásához az Azure API Managementben.
A gyorsítótárazási szabályzatokban alapértelmezés szerint az API Management külső gyorsítótárat használ, ha konfigurálva van, és egyébként visszaesik a beépített gyorsítótárba.
Az API Management párokban biztosít gyorsítótárazási szabályzatokat, ahogy az az alábbi táblázatban is látható. A szabályzatdefiníciókban konfiguráljon egy gyorsítótár-keresési szabályzatot a szakaszban a
inboundgyorsítótárazott válaszok ellenőrzéséhez, a szakaszban pedig egy gyorsítótár-tárolási szabályzatotoutbounda sikeres válaszok gyorsítótárban való tárolásához.
| Szabályzatok | Description | Usage |
|---|---|---|
| gyorsítótár-keresés / gyorsítótár-tároló | – Válasz lekérése a gyorsítótárból – Válasz tárolása a gyorsítótár-kérelemben |
– Teljes API-válasz lekérésére használható a gyorsítótárból egy azonos GET kéréshez |
| cache-keresés-érték / cache-tárolás-érték | – Adott érték lekérése a gyorsítótárból - Egy adott érték tárolása a gyorsítótárban |
– Egyéni gyorsítótárazási forgatókönyvekhez használható adott gyorsítótárkulcsokkal |
| azure-openai-szemantic-cache-lookup / azure-openai-szemantic-cache-store | – Ellenőrizze, hogy létezik-e szemantikailag hasonló válasz egy Azure OpenAI API-kérés gyorsítótárában – Válasz tárolása egy Azure OpenAI API-kéréshez |
– Hasonló válaszok lekérésére használható az Azure OpenAI Chat Completion API-kérésekre |
| llm-semantic-cache-lookup / llm-semantic-cache-store | – Ellenőrizze, hogy létezik-e szemantikailag hasonló válasz a gyorsítótárban egy LLM API-kéréshez – Válasz tárolása LLM API-kéréshez |
– Hasonló válaszok lekérésére használható az LLM Csevegés befejezése API-kérésekre |
Jótanács
- A gyorsítótárban lévő bejegyzések tárolására vonatkozó szabályzatok tartalmaznak egy
durationattribútumot, amely meghatározza, hogy a gyorsítótárazott bejegyzés mennyi ideig marad meg. - A gyorsítótár-eltávolítás érték használatával eltávolíthat egy, a kulcs által azonosított értéket a gyorsítótárból.
Gyorsítótárazási szabályzatok példái
Az alábbiakban alapvető példákat láthat az API Management gyorsítótárazási szabályzataira. További példákért tekintse meg a gyorsítótárazási szabályzat referenciacikkeit.
Válasz gyorsítótárazása
Gyorsítótárazza a teljes API-választ a belső gyorsítótárban az azonos kérések háttérhívások nélküli kiszolgálásához. Ebben a példában a gyorsítótár hét napig tárolja a válaszokat.
<policies>
<inbound>
<base />
<cache-lookup vary-by-developer="false" vary-by-developer-groups="false" downstream-caching-type="none" must-revalidate="true" caching-type="internal" >
<vary-by-query-parameter>version</vary-by-query-parameter>
</cache-lookup>
</inbound>
<outbound>
<cache-store duration="604800" />
<base />
</outbound>
</policies>
Érték gyorsítótárazása
Adott adatértékek gyorsítótárazása több kérelemben való újrafelhasználáshoz.
<policies>
<inbound>
<cache-lookup-value key="user-preferences" default-value="none" variable-name="preferences" />
<choose>
<when condition="@(context.Variables["preferences"].ToString() == "none")">
<!-- Load preferences from backend -->
<send-request mode="new" response-variable-name="prefsResponse">
<set-url>https://backend.api/user/preferences</set-url>
</send-request>
<cache-store-value key="user-preferences" value="@(((IResponse)context.Variables["prefsResponse"]).Body.As<string>())" duration="1800" />
</when>
</choose>
</inbound>
</policies>
Sebességkorlátozó védelem
Ajánlott eljárásként kombinálja a gyorsítótár-keresést a sebességkorlátozással a háttérszolgáltatások védelme érdekében.
<policies>
<inbound>
<cache-lookup-value key="@("data-" + context.Request.IpAddress)" variable-name="cachedData" />
<choose>
<when condition="@(!context.Variables.ContainsKey("cachedData"))">
<rate-limit calls="10" renewal-period="60" />
<!-- Proceed to backend -->
</when>
<otherwise>
<!-- Return cached data without rate limiting -->
<return-response>
<set-body>@((string)context.Variables["cachedData"])</set-body>
</return-response>
</otherwise>
</choose>
</inbound>
</policies>
Biztonsági szempontok
- Bizalmas adatok: A bizalmas vagy személyes adatokat tartalmazó válaszok gyorsítótárazásának elkerülése
- Gyorsítótárkulcsok: Győződjön meg arról, hogy a gyorsítótárkulcsok nem teszik elérhetővé a naplókban vagy a diagnosztika során bizalmas információkat
- Hozzáférés-vezérlés: A külső gyorsítótár megfelelő hálózati biztonságot és hozzáférés-vezérlést igényel
- Titkosítás: TLS/SSL használata külső gyorsítótárpéldányokhoz való kapcsolatokhoz
Kapcsolódó tartalom
- További információ a gyorsítótárszabályzatokról az API Managementben
- Külső gyorsítótárazás beállítása az Azure Managed Redis használatával
- Egyéni gyorsítótárazási példák speciális forgatókönyvekkel
- Az API Management teljesítményének és gyorsítótárazási metrikáinak felügyelete