Azure Cosmos DB è il servizio offerto dal cloud Microsoft Azure che mette a disposizione un database documentale con più API (NoSQL, Mongo, ecc) completamente scalabile e gestito. Dispone di caratteristiche di geo replica, fault tollerance e gode di ottime prestazioni.
Queste prestazioni possono essere ulteriormente limate, non solo lavorando sulle request unit disponibili, ma anche intervenendo sul gateway. Quando ci connettiamo al nostro database, infatti, possiamo scegliere se usare la modalità diretta TCP, andando però diretti sulla partizione di nostro interesse, oppure passare dal gateway via HTTPS il quale si occupa di fornire l'accesso a più linguaggi e gestisce il routing in autonomia. Questo gateway è condiviso e sebbene goda di ottime prestazioni non c'è nulla che può battere un gateway dedicato al nostro database. Non solo, così facendo godiamo di un layer di cache automatico che evita di accedere ogni volta al cluster dei dati, permettendoci di avere latenze da 2-4 ms.
Per usufruire di questa funzionalità è necessario accedere al database interessato e nella sezione Dedicated Gateway, dove possiamo abilitare l'opzione.

Ci viene chiesto di dimensionare la virtual machine e dare il numero di istanze. Questo perché la cache occupa memoria, perciò sta a noi decidere quanta metterne a disposizione. Anche il numero di istanze influenza il numero di connessioni contemporanee che mettiamo a disposizione, anche se non c'è garanzia che non ci siano informazioni in cache replicate tra le varie istanze. Questo chiaramente comporta un costo visibile direttamente nella pagina.
A questo punto il passo da compiere è breve. Recandoci nella sezione Keys possiamo vedere due nuovi voci che mostrano le stringhe di connessioni necessarie per accedere ai gateway dedicati: è l'unico cambiamento da effettuare, oltre a verificare di connettersi tramite gateway.

Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
.NET Aspire vs Dapr: differenze, sovrapposizioni e integrazione
Analizzare il contenuto di una issue con GitHub Models e AI
Eseguire i pre-commit hook di git con dependabot
Esporre tool MCP con Azure Functions
GitHub Quick Review per la valutazione dello stato di compliance dell'organizzazione aziendale
Canary release con .NET Aspire
Configurare OpenTelemetry per Application Insights su ASP.NET Core
Cache temporanea in Javascript con oggetti
Integrare email esterne con Azure Functions e Managed Connectors
Nuova modale riconnessione Blazor
Importare repository da Bitbucket a GitHub Enterprise Cloud


