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
Utilizzare un service principal per accedere a Azure Container Registry
Utilizzare la versione generica di EntityTypeConfiguration in Entity Framework Core
Implementare l'infinite scroll con QuickGrid in Blazor Server
What's new in Azure Functions and Extensions
Utilizzare gli snapshot con Azure File shares
Usare un KeyedService di default in ASP.NET Core 8
Ottimizzare la latenza in Blazor 8 tramite InteractiveAuto render mode
Sfruttare al massimo i topic space di Event Grid MQTT
Gestire errori funzionali tramite exception in ASP.NET Core Web API
Usare Refit e Polly in Blazor per creare client affidabili e fortemente tipizzati
Utilizzare database e servizi con gli add-on di Container App
Eseguire un metodo asincrono dopo il set di una proprietà in Blazor 8