Dedikerad Azure Cosmos DB-gateway – Översikt
GÄLLER FÖR: NoSQL
En dedikerad gateway är beräkning på serversidan som är en klientdel till ditt Azure Cosmos DB-konto. När du ansluter till den dedikerade gatewayen dirigeras både begäranden och cachelagrar data. Precis som etablerat dataflöde debiteras den dedikerade gatewayen varje timme.
Översikt
Du kan etablera en dedikerad gateway för att förbättra prestanda i stor skala. Den vanligaste orsaken till att du vill etablera en dedikerad gateway är för cachelagring. När du etablerar en dedikerad gateway konfigureras en integrerad cache automatiskt i den dedikerade gatewayen. Punktläsningar och frågor som träffar den integrerade cachen använder inte någon av dina RU:er. Genom att etablera en dedikerad gateway med en integrerad cache kan du minska kostnaderna för läsintensiva arbetsbelastningar i Azure Cosmos DB.
Den dedikerade gatewayen är inbyggd i Azure Cosmos DB. När du etablerar en dedikerad gateway har du en fullständigt hanterad nod som dirigerar begäranden till serverdelspartitioner. Att ansluta till Azure Cosmos DB med den dedikerade gatewayen ger lägre och mer förutsägbar svarstid än att ansluta till Azure Cosmos DB med standardgatewayen. Även cachemissar ser svarstidsförbättringar när du jämför den dedikerade gatewayen och standardgatewayen.
Det krävs bara minimala kodändringar för att programmet ska kunna använda en dedikerad gateway. Både nya och befintliga Azure Cosmos DB-konton kan etablera en dedikerad gateway för bättre läsprestanda.
Kommentar
Har du någon feedback om den dedikerade gatewayen? Vi vill höra det! Dela gärna feedback direkt med Azure Cosmos DB-teknikteamet: cosmoscachefeedback@microsoft.com
Anslutningslägen
Det finns två anslutningslägen för Azure Cosmos DB, direktläge och gatewayläge. Med gatewayläge kan du ansluta till antingen standardgatewayen eller den dedikerade gatewayen beroende på vilken slutpunkt du konfigurerar.
Ansluta till Azure Cosmos DB med direktläge
När du ansluter till Azure Cosmos DB med direktläge ansluter programmet direkt till Azure Cosmos DB-serverdelen. Även om du har många fysiska partitioner hanteras begärandedirigering helt på klientsidan. Direktläge ger låg svarstid eftersom ditt program kan kommunicera direkt med Azure Cosmos DB-serverdelen och inte behöver ett mellanliggande nätverkshopp. Om du väljer att ansluta med direktläge använder dina begäranden inte den dedikerade gatewayen eller den integrerade cachen.
Ansluta till Azure Cosmos DB med gatewayläge
Om du ansluter till Azure Cosmos DB med gatewayläge ansluter ditt program först till en klientdelsnod, som hanterar routning av begäran till lämpliga serverdelsnoder. Eftersom gatewayläget innebär ett extra nätverkshopp kan du se något högre svarstider jämfört med direktläge.
När du ansluter till Azure Cosmos DB med gatewayläge kan du ansluta med något av följande alternativ:
- Standardgateway – Medan serverdelen, som omfattar ditt etablerade dataflöde och lagring, har dedikerad kapacitet per container, delas standardgatewayen mellan många Azure Cosmos DB-konton. Det är praktiskt för många kunder att dela en standardgateway eftersom beräkningsresurserna som förbrukas av varje enskild kund är små.
- Dedikerad gateway – I den här gatewayen har både serverdelen och gatewayen dedikerad kapacitet. Den integrerade cachen kräver en dedikerad gateway eftersom den kräver betydande CPU och minne som är specifikt för ditt Azure Cosmos DB-konto.
Du måste ansluta till Azure Cosmos DB med hjälp av den dedikerade gatewayen för att kunna använda den integrerade cachen. Den dedikerade gatewayen har en annan slutpunkt än den standard som tillhandahålls med ditt Azure Cosmos DB-konto, men begäranden dirigeras på samma sätt. När du ansluter till din dedikerade gatewayslutpunkt skickar programmet en begäran till den dedikerade gatewayen, som sedan dirigerar begäran till olika serverdelsnoder. Om möjligt hanterar den integrerade cachen resultatet.
Diagram över gatewaylägesanslutning med en dedikerad gateway:
Etablera den dedikerade gatewayen
Ett dedikerat gatewaykluster kan etableras i API för NoSQL-konton. Ett dedikerat gatewaykluster kan ha upp till fem noder som standard och du kan lägga till eller ta bort noder när som helst. Alla dedikerade gatewaynoder i ditt konto delar samma dedikerade gatewayslutpunkt.
Dedikerade gatewaynoder är oberoende av varandra. När du etablerar flera dedikerade gatewaynoder kan valfri enskild nod dirigera en viss begäran. Dessutom har varje nod en separat integrerad cache från de andra. Cachelagrade data inom varje nod beror på de data som nyligen har skrivits eller lästs igenom den specifika noden. Om ett objekt eller en fråga cachelagras på en nod cachelagras det inte nödvändigtvis på de andra.
För utveckling rekommenderar vi att du börjar med en nod, men för produktion bör du etablera tre eller fler noder för hög tillgänglighet. Lär dig hur du etablerar ett dedikerat gatewaykluster med en integrerad cache. Genom att etablera flera dedikerade gatewaynoder kan det dedikerade gatewayklustret fortsätta dirigera begäranden och hantera cachelagrade data, även när en av de dedikerade gatewaynoderna inte är tillgänglig.
Den dedikerade gatewayen är tillgänglig i följande storlekar. Den integrerade cachen använder cirka 50 % av minnet och resten är reserverat för metadata och routningsbegäranden till serverdelspartitioner.
SKU-namn | vCPU | Minne |
---|---|---|
D4s | 4 | 16 GB |
D8s | 8 | 32 GB |
D16s | 16 | 64 GB |
Dricks
När du har skapat kan du lägga till eller ta bort dedikerade gatewaynoder, men du kan inte ändra nodernas storlek. Om du vill ändra storleken på dina dedikerade gatewaynoder kan du avetablera klustret och etablera det igen i en annan storlek. Detta resulterar i en kort stilleståndstid om du inte ändrar slutpunkten i ditt program för att använda standardgatewayen under ometablering.
Det finns många olika sätt att etablera en dedikerad gateway:
- Etablera en dedikerad gateway med hjälp av Azure Portal
- Använda REST API för Azure Cosmos DB
- Azure CLI
- ARM-mall
- Obs! Du kan inte avetablera en dedikerad gateway med arm-mallar
Kommentar
Du kan etablera en dedikerad gateway i Azure Cosmos DB-konton med tillgänglighetszoner på begäran. Kontakta för cosmoscachefeedback@microsoft.com mer information.
Dedikerad gateway i konton i flera regioner
När du etablerar ett dedikerat gatewaykluster i konton i flera regioner etableras identiska dedikerade gatewaykluster i varje region. Du kan till exempel överväga ett Azure Cosmos DB-konto i USA, östra och Europa, norra. Om du etablerar ett dedikerat gatewaykluster med två D8-noder i det här kontot skulle du ha totalt fyra D8-noder – två i USA, östra och två i Europa, norra. Du behöver inte uttryckligen konfigurera dedikerade gatewayer i varje region och din dedikerade gatewayslutpunkt förblir densamma. Det finns inte heller några ändringar i metodtipsen för att utföra redundansväxlingar.
Precis som noder i ett kluster är dedikerade gatewaynoder mellan regioner oberoende. Det är möjligt att cachelagrade data i varje region är olika, beroende på de senaste läsningarna eller skrivningarna till den regionen.
Begränsningar
Dedikerade gatewayer stöds bara på API:er för NoSQL-konton.
Nästa steg
Läs mer om dedikerad gatewayanvändning i följande artiklar:
- Integrerad cache
- Konfigurera den integrerade cachen
- Vanliga frågor och svar om integrerad cache
- Försöker du planera kapacitet för en migrering till Azure Cosmos DB? Du kan använda information om ditt befintliga databaskluster för kapacitetsplanering.
- Om allt du vet är antalet virtuella kärnor och servrar i ditt befintliga databaskluster läser du om att uppskatta enheter för begäranden med virtuella kärnor eller virtuella kärnor
- Om du känner till vanliga begärandefrekvenser för din aktuella databasarbetsbelastning kan du läsa om att uppskatta enheter för begäranden med azure Cosmos DB-kapacitetshanteraren