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 dei 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 per i carichi di lavoro con intensa attività di lettura 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 visualizzano 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.
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 connette 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 fornisce il risultato.
Diagramma della connessione in modalità gateway con un gateway dedicato:
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 lo stesso endpoint gateway dedicato.
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 l'endpoint nell'applicazione per usare il gateway standard durante il provisioning.
Esistono molti modi diversi per effettuare il provisioning di un gateway dedicato:
- Effettuare il provisioning di un gateway dedicato usando il portale di Azure
- Usare l'API REST di Azure Cosmos DB
- Interfaccia della riga di comando di Azure
- Modello ARM
- Nota: non è possibile effettuare il deprovisioning di un gateway dedicato usando i modelli di Resource Manager
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 l'endpoint del gateway dedicato rimane invariato. 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
I gateway dedicati sono supportati solo nell'API per gli account NoSQL.
Passaggi successivi
Altre informazioni sull'utilizzo del gateway dedicato sono disponibili negli articoli seguenti:
- Cache integrata
- Configurare la cache integrata
- Domande frequenti sulla cache integrata
- Si sta tentando di pianificare la capacità per una migrazione ad Azure Cosmos DB? È possibile usare le informazioni del cluster di database esistente per la pianificazione della capacità.
- Se si conosce solo il numero di vCore e server nel cluster di database esistente, leggere le informazioni sulla stima delle unità richieste con vCore o vCPU
- Se si conosce la frequenza delle richieste tipiche per il carico di lavoro corrente del database, leggere le informazioni sulla stima delle unità richieste con lo strumento di pianificazione della capacità di Azure Cosmos DB