Share via


Gateway dedicato di Azure Cosmos DB - Panoramica

SI APPLICA A: NoSQL

Un gateway dedicato è una risorsa di calcolo lato server che agisce da front-end per l'account Azure Cosmos DB. Quando ci si connette al gateway dedicato, questo instrada le richieste e memorizza nella cache i dati. Analogamente alla velocità effettiva con provisioning, il gateway dedicato viene fatturato ogni ora.

Panoramica

È possibile effettuare il provisioning di un gateway dedicato per migliorare le prestazioni su larga scala. Il motivo più comune per cui si vuole effettuare il provisioning di un gateway dedicato è la memorizzazione nella cache. Quando si effettua il provisioning di un gateway dedicato, una cache integrata viene configurata automaticamente all'interno del gateway dedicato. Le letture di punti e le query che raggiungono la cache integrata non usano alcuna unità richiesta. Il provisioning di un gateway dedicato con una cache integrata consente di ridurre i costi di lettura dei carichi di lavoro in Azure Cosmos DB.

Il gateway dedicato è integrato in Azure Cosmos DB. Quando si effettua il provisioning di un gateway dedicato, è disponibile un nodo completamente gestito che instrada le richieste alle partizioni back-end. La connessione ad Azure Cosmos DB con il gateway dedicato offre una latenza più bassa e prevedibile rispetto alla connessione ad Azure Cosmos DB con il gateway standard. Anche i mancati riscontri nella cache vedranno miglioramenti della latenza durante il confronto tra il gateway dedicato e il gateway standard.

Sono necessarie solo modifiche minime al codice per consentire all'applicazione di usare un gateway dedicato. Sia gli account Azure Cosmos DB nuovi che quelli esistenti possono effettuare il provisioning di un gateway dedicato per migliorare le prestazioni di lettura.

Nota

Si desidera lasciare un feedback sul gateway integrato? Siamo lieti di riceverlo. È possibile condividere i feedback direttamente con il team di progettazione di Azure Cosmos DB: cosmoscachefeedback@microsoft.com

Modalità di connessione

Esistono due modalità di connettività per Azure Cosmos DB, modalità diretta e modalità gateway. Con la modalità gateway è possibile connettersi al gateway standard o al gateway dedicato a seconda dell'endpoint configurato.

Diagram that shows how Azure Cosmos DB connectivity modes work.

Connettersi ad Azure Cosmos DB usando la modalità diretta

Quando ci si connette ad Azure Cosmos DB usando la modalità diretta, l'applicazione si connette direttamente al back-end di Azure Cosmos DB. Anche se si dispone di molte partizioni fisiche, il routing delle richieste viene gestito interamente sul lato client. La modalità diretta offre bassa latenza perché l'applicazione può comunicare direttamente con il back-end di Azure Cosmos DB e non richiede un hop di rete intermedio. Se si sceglie di connettersi con la modalità diretta, le richieste non useranno il gateway dedicato o la cache integrata.

Connettersi ad Azure Cosmos DB usando la modalità gateway

Se ci si connette ad Azure Cosmos DB usando la modalità gateway, l'applicazione si connetterà prima a un nodo front-end, che gestisce il routing della richiesta ai nodi back-end appropriati. Poiché la modalità gateway comporta un hop di rete aggiuntivo, è possibile osservare una latenza leggermente superiore rispetto alla modalità diretta.

Quando ci si connette ad Azure Cosmos DB con la modalità gateway, è possibile connettersi con una delle opzioni seguenti:

  • Gateway standard: mentre il back-end, che include la velocità effettiva e l'archiviazione con provisioning, ha una capacità dedicata per ogni contenitore, il gateway standard viene condiviso tra molti account Azure Cosmos DB. È pratico per molti clienti condividere un gateway standard perché le risorse di calcolo utilizzate da ogni singolo cliente sono di piccole dimensioni.
  • Gateway dedicato: in questo gateway il back-end e il gateway hanno entrambi capacità dedicata. La cache integrata richiede un gateway dedicato perché richiede CPU e memoria significative specifiche per l'account Azure Cosmos DB.

Per usare la cache integrata, è necessario connettersi ad Azure Cosmos DB usando il gateway dedicato. Il gateway dedicato ha un endpoint diverso da quello standard fornito con l'account Azure Cosmos DB, ma le richieste vengono instradate nello stesso modo. Quando ci si connette all'endpoint gateway dedicato, l'applicazione invia una richiesta al gateway dedicato, che instrada quindi la richiesta a nodi back-end diversi. Se possibile, la cache integrata mostrerà il risultato.

Diagramma della connessione in modalità gateway con un gateway dedicato:

Diagram that shows how the Azure Cosmos DB dedicated gateway works.

Provisioning del gateway dedicato

È possibile effettuare il provisioning di un cluster gateway dedicato nell'API per gli account NoSQL. Per impostazione predefinita, un cluster gateway dedicato può avere fino a cinque nodi ed è possibile aggiungere o rimuovere nodi in qualsiasi momento. Tutti i nodi gateway dedicati all'interno dell'account condividono la stessa stringa di connessione.

I nodi gateway dedicati sono indipendenti l'uno dall'altro. Quando si effettua il provisioning di più nodi gateway dedicati, qualsiasi nodo singolo può instradare una richiesta specificata. Inoltre, ogni nodo ha una cache integrata separata dalle altre. I dati memorizzati nella cache all'interno di ogni nodo dipendono dai dati che sono stati recentemente scritti o letti tramite tale nodo specifico. Se un elemento o una query viene memorizzato nella cache in un nodo, non viene necessariamente memorizzato nella cache negli altri.

Per lo sviluppo, è consigliabile iniziare con un nodo, mentre per l'ambiente di produzione è consigliabile effettuare il provisioning di tre o più nodi per la disponibilità elevata. Informazioni su come effettuare il provisioning di un cluster gateway dedicato con una cache integrata. Il provisioning di più nodi gateway dedicati consente al cluster gateway dedicato di continuare a instradare le richieste e gestire i dati memorizzati nella cache, anche quando uno dei nodi del gateway dedicato non è disponibile.

Il gateway dedicato è disponibile nelle dimensioni seguenti. La cache integrata usa circa il 50% della memoria e il resto è riservato ai metadati e alle richieste di routing alle partizioni back-end.

Nome SKU vCPU Memory
D4 4 16 GB
D8 8 32 GB
D16 16 64 GB

Suggerimento

Dopo la creazione, è possibile aggiungere o rimuovere nodi gateway dedicati, ma non è possibile modificare le dimensioni dei nodi. Per modificare le dimensioni dei nodi del gateway dedicato, è possibile effettuare il deprovisioning del cluster ed eseguirne di nuovo il provisioning in dimensioni diverse. Ciò comporterà un breve periodo di inattività, a meno che non si modifichi la stringa di connessione nell'applicazione per usare il gateway standard durante il provisioning.

Esistono molti modi diversi per effettuare il provisioning di un gateway dedicato:

Nota

È possibile effettuare il provisioning di un gateway dedicato negli account Azure Cosmos DB con zone di disponibilità per richiesta. Per altre informazioni, fare riferimento a cosmoscachefeedback@microsoft.com.

Gateway dedicato negli account in più aree

Quando si effettua il provisioning di un cluster gateway dedicato in account in più aree, viene effettuato il provisioning di cluster gateway dedicati identici in ogni area. Si consideri ad esempio un account Azure Cosmos DB negli Stati Uniti orientali e nell'Europa settentrionale. Se si effettua il provisioning di un cluster gateway dedicato con due nodi D8 in questo account, si avranno quattro nodi D8 in totale, due negli Stati Uniti orientali e due nell'Europa settentrionale. Non è necessario configurare in modo esplicito i gateway dedicati in ogni area e la stringa di connessione rimane invariata. Non sono inoltre state apportate modifiche alle procedure consigliate per l'esecuzione di failover.

Analogamente ai nodi all'interno di un cluster, i nodi gateway dedicati tra aree sono indipendenti. È possibile che i dati memorizzati nella cache in ogni area siano diversi, a seconda delle letture o delle scritture recenti in tale area.

Limiti

Il gateway dedicato presenta le limitazioni seguenti:

  • I gateway dedicati sono supportati solo nell'API per gli account NoSQL
  • Non è possibile usare il controllo degli accessi in base al ruolo per autenticare le richieste del piano dati indirizzate tramite il gateway dedicato

Passaggi successivi

Altre informazioni sull'utilizzo del gateway dedicato sono disponibili negli articoli seguenti: