Le Azure Web App sono un servizio che permette di ospitare le proprie applicazioni web in un ambiente completamento gestito, scalabile e altamente affidabile. Per raggiungere questo obiettivo, facciamo uso di più istanze, cioè di più server per rispondere con la medesima applicazione. Il balancer di Azure si occupa di instradare le richieste mediante round robin alle rispettive macchine, bilanciando le richieste e quindi presumibilmente i carichi di lavoro.
Fin dalla sua nascita, questo servizio ha sfruttato la tecnica dell'Affinity Cookie per impostare sull'utente un'informazione che indicasse quale server avesse per primo soddisfatto una richiesta. In questo modo, alle successive richieste, l'utente viene sempre instradato allo stesso server, facilitando noi sviluppatori, perché ci consente di memorizzare informazioni in memoria senza doverci preoccupare di replicarle sulle altre macchine.
Questa tecnica, sebbene comoda, non garantisce il massimo di performance. Oltre al payload del cookie che transita da client e server, non permette all'algoritmo di round robin di bilanciare correttamente i carichi. Possiamo però disabilitare questa funzionalità se siamo sicuri di aver sviluppato il nostro applicativo in maniera totalmente state less: è sufficiente andare nella sezione Application Settings e spegnere la voce ARR Affinity, come nell'immagine seguente.

La modifica è immediata e consentirà ai nuovi utenti di non ricevere più quel cookie.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Configurare e gestire sidecar container in Azure App Service
Generare HTML a runtime a partire da un componente Razor in ASP.NET Core
Path addizionali per gli asset in ASP.NET Core MVC
Eseguire un metodo asincrono dopo il set di una proprietà in Blazor 8
Usare i servizi di Azure OpenAI e ChatGPT in ASP.NET Core con Semantic Kernel
Gestione dei nomi con le regole @layer in CSS
Utilizzare il metodo ExceptBy per eseguire operazione di sottrazione tra liste
Effettuare il log delle chiamate a function di GPT in ASP.NET Web API
Come EF 8 ha ottimizzato le query che usano il metodo Contains
Supportare il sorting di dati tabellari in Blazor con QuickGrid
Sostituire la GitHub Action di login su private registry
Testare l'invio dei messaggi con Event Hubs Data Explorer
I più letti di oggi
- Implementare l'infinite scroll con QuickGrid in Blazor Server
- #vs2017 sarà rilasciato il 07/03, in concomitanza con i suoi 20 anni https://aspit.co/bfn
- Ondata di novità per Windows Azure
- Novità per Win CE: .NET compact framework e SQL Server CE 2.0
- Presentata la nuova versione di C#
- Microsoft Security Bulletin MS05-013
- Rilasciato SQL Server 2005 in italiano
- Per la settimana prossima la beta1 del primo Service Pack di VS 2005
- SSL Certificates for everyone on Azure
- Repository con code-first di Entity Framework