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
Implementare il throttling in ASP.NET Core
Generare file per il download da Blazor WebAssembly
Intercettare gli eventi di creazione degli oggetti con Entity Framework 7
Creare moduli CSS in React
Dependency Injection e custom validator in Blazor con .NET 7.0
Semplificare il deployment di siti statici con Azure Static Web App
Reactive form tipizzati con modellazione del FormBuilder in Angular
Filtrare e rimuovere gli elementi dalla cache del browser tramite le API JavaScript
3 metodi JavaScript che ogni applicazione web dovrebbe contenere
Gestire i null nelle reactive form tipizzate di Angular
Effettuare il deploy di immagini solo da container registry approvati in Kubernetes
Utilizzare l'attributo autofill del CSS
I più letti di oggi
- .NET Conference Italia 2023 - Milano e Online
- Utilizzare database e servizi con gli add-on di Container App
- Evitare la script injection nelle GitHub Actions
- Reactive form tipizzati con modellazione del FormBuilder in Angular
- Eseguire attività basate su eventi con Azure Container Jobs
- Eseguire query verso tipi non mappati in Entity Framework Core
- Utilizzare le collection expression in C#
- Registrare servizi multipli tramite chiavi in ASP.NET Core 8
- Reactive form tipizzati con FormBuilder in Angular