Megosztás a következőn keresztül:


Az Azure Cosmos DB integrált gyorsítótárának konfigurálása

A KÖVETKEZŐRE VONATKOZIK: NoSQL

Ez a cikk bemutatja, hogyan építhet ki dedikált átjárót, konfigurálhatja az integrált gyorsítótárat, és hogyan csatlakoztathatja az alkalmazást.

Előfeltételek

A dedikált átjáró kiépítése

  1. Lépjen egy Azure Cosmos DB-fiókra az Azure Portalon, és válassza a Dedikált átjáró lapot.

    Képernyőkép az Azure Portalról, amely bemutatja, hogyan navigálhat a dedikált Azure Cosmos DB-átjáró lapjára.

  2. Töltse ki a Dedikált átjáró űrlapot a következő részletekkel:

    • Dedikált átjáró – Kapcsolja be a kapcsolót kiépítettre.
    • Termékváltozat – Válasszon ki egy termékváltozatot a szükséges számítási és memóriamérettel. Az integrált gyorsítótár a memória körülbelül 50%-át fogja használni, a fennmaradó memóriát pedig a háttérpartíciók metaadataihoz és útválasztási kéréseihez használja.
    • Példányok száma – Csomópontok száma. Fejlesztési célból javasoljuk, hogy egy D4-es méretű csomóponttal kezdjen. A gyorsítótárazáshoz és a magas rendelkezésre álláshoz szükséges adatok mennyisége alapján a kezdeti tesztelés után növelheti a csomópont méretét.

    Képernyőkép a dedikált Azure Portal átjárólapjáról, amely egy dedikált átjárófürt létrehozásának mintabemeneti beállításait jeleníti meg.

  3. Válassza a Mentés lehetőséget , és várjon körülbelül 5–10 percet, amíg a dedikált átjáró kiépítése befejeződik. A kiépítés befejezésekor a következő értesítés jelenik meg:

    Képernyőkép egy értesítésről az Azure Portalon, amely bemutatja, hogy a dedikált átjáró kiépítése befejeződött-e.

Az integrált gyorsítótár konfigurálása

Dedikált átjáró létrehozásakor automatikusan kiépül egy integrált gyorsítótár.

  1. Módosítsa az alkalmazás kapcsolati sztring az új dedikált átjáróvégpont használatára.

    A frissített dedikált átjáró kapcsolati sztring a Kulcsok panelen található:

    Képernyőkép az Azure Portal kulcsainak lapjáról a dedikált átjáróval kapcsolati sztring.

    Minden dedikált átjáró kapcsolati sztring ugyanazt a mintát követi. Távolítsa el documents.azure.com az eredeti kapcsolati sztring, és cserélje le.sqlx.cosmos.azure.com A dedikált átjárók mindig ugyanazzal a kapcsolati sztring rendelkeznek, még akkor is, ha eltávolítja és újra létrehozza azt.

    Nem kell módosítania a kapcsolati sztring minden alkalmazásban ugyanazzal az Azure Cosmos DB-fiókkal. Előfordulhat például, hogy az egyik CosmosClient átjáró móddal és a dedikált átjáróvégponttal csatlakozik, míg a másik CosmosClient közvetlen módot használ. Más szóval a dedikált átjáró hozzáadása nem befolyásolja az Azure Cosmos DB-hez való csatlakozás meglévő módjait.

  2. Ha a .NET-et vagy a Java SDK-t használja, állítsa a kapcsolati módot átjáró módra. Ez a lépés nem szükséges a Python- és Node.js SDK-khoz, mivel az átjáró módon kívül további csatlakozási lehetőségekkel sem rendelkeznek.

Feljegyzés

Ha a legújabb .NET- vagy Java SDK-verziót használja, az alapértelmezett kapcsolati mód a közvetlen mód. Az integrált gyorsítótár használatához felül kell bírálnia ezt az alapértelmezett beállítást.

Kérelmek konzisztenciájának módosítása

Győződjön meg arról, hogy a kérés konzisztenciája munkamenet vagy végleges. Ha nem, a kérés mindig megkerüli az integrált gyorsítótárat. Egy adott konzisztenciát az összes olvasási művelethez a legegyszerűbben úgy konfigurálhat, ha fiókszinten állítja be. Konzisztenciát a kérelem szintjén is konzisztenciát konfigurálhat, ami akkor ajánlott, ha csak az olvasások egy részhalmazát szeretné használni az integrált gyorsítótár használatához.

Feljegyzés

Ha a Python SDK-t használja, explicit módon meg kell adnia az egyes kérések konzisztenciaszintjét. Az alapértelmezett fiókszintű beállítás nem lesz automatikusan alkalmazva.

MaxIntegratedCacheStaleness beállítása

Konfigurálja MaxIntegratedCacheStalenessazt a maximális időtartamot, amelyben hajlandó elviselni az elavult gyorsítótárazott adatokat. Javasoljuk, hogy a MaxIntegratedCacheStaleness lehető legnagyobb értéket állítsa be, mert növeli annak valószínűségét, hogy az ismétlődő pontolvasások és lekérdezések gyorsítótár-találatok lehetnek. Ha 0 értékre állítjaMaxIntegratedCacheStaleness, az olvasási kérés soha nem fogja használni az integrált gyorsítótárat a konzisztenciaszinttől függetlenül. Ha nincs konfigurálva, az alapértelmezett érték MaxIntegratedCacheStaleness 5 perc.

Feljegyzés

A MaxIntegratedCacheStaleness beállítás akár 10 év is lehet. A gyakorlatban ez az érték a maximális elavultság, és a gyorsítótár hamarabb alaphelyzetbe állítható a csomópontok újraindítása miatt, amelyek előfordulhatnak.

A beállítás az MaxIntegratedCacheStaleness egyes SDK-k alábbi verzióiban támogatott:

SDK Támogatott verziók
.NET SDK v3 >= 3.30.0
Java SDK v4 >= 4.34.0
Node.js SDK >=3.17.0
Python SDK >=4.3.1
FeedIterator<MyClass> myQuery = container.GetItemQueryIterator<MyClass>(new QueryDefinition("SELECT * FROM c"), requestOptions: new QueryRequestOptions
        {
            DedicatedGatewayRequestOptions = new DedicatedGatewayRequestOptions 
            { 
                MaxIntegratedCacheStaleness = TimeSpan.FromMinutes(30) 
            }
        }
);

Az integrált gyorsítótár megkerülése

BypassIntegratedCache A kérés beállításával szabályozhatja, hogy mely kérések használják az integrált gyorsítótárat. Az integrált gyorsítótárat megkerülő írások, pontolvasások és lekérdezések nem használnak gyorsítótár-tárolót, így helyet takarítanak meg más elemek számára. A gyorsítótárat megkerülő kérések továbbra is a dedikált átjárón keresztül lesznek irányítva. Ezek a kérések a háttérrendszerből és a költség-kérelemegységekből lesznek kézbesítve.

A gyorsítótár megkerülése az egyes SDK-k alábbi verzióiban támogatott:

SDK Támogatott verziók
.NET SDK v3 >= 3.39.0
Java SDK v4 >= 4.49.0
Node.js SDK Nem támogatott
Python SDK Nem támogatott
FeedIterator<MyClass> myQuery = container.GetItemQueryIterator<MyClass>(new QueryDefinition("SELECT * FROM c"), requestOptions: new QueryRequestOptions
        {
            DedicatedGatewayRequestOptions = new DedicatedGatewayRequestOptions 
            { 
                BypassIntegratedCache = true
            }
        }
);

Gyorsítótár-találatok ellenőrzése

Végül újraindíthatja az alkalmazást, és ellenőrizheti az ismétlődő pontolvasások vagy lekérdezések integrált gyorsítótár-találatait, és ellenőrizheti, hogy a kérelem díja 0-e. Miután módosította a CosmosClient dedikált átjáróvégpont használatára, a rendszer az összes kérést a dedikált átjárón keresztül irányítja át.

Ahhoz, hogy egy olvasási kérés (pontolvasás vagy lekérdezés) az integrált gyorsítótárat használja, az alábbi feltételek mindegyikének teljesülnie kell:

  • Az ügyfél csatlakozik a dedikált átjáróvégponthoz
  • Az ügyfél átjáró módot használ (a Python és Node.js SDK-k mindig átjáró módot használnak)
  • A kérés konzisztenciáját munkamenetre vagy véglegesre kell állítani

Feljegyzés

Van visszajelzése az integrált gyorsítótárról? Hallani akarjuk! Nyugodtan megoszthatja visszajelzéseit közvetlenül az Azure Cosmos DB mérnöki csapatával: cosmoscachefeedback@microsoft.com

Következő lépések