Abbiamo visto nei numerosi script sull'argomento, come Azure Container App sia in continuo fermento e sviluppo, poiché semplifica enormemente la distribuzione di applicativi basati su container e servizi, senza la necessità di amministrare un cluster Kubernetes, ma beneficiando di esso dietro le quinte. Uno dei vantaggi di questa infrastruttura è il service discovery, cioè la possibilità di creare n app ognuna delle quali raggiungibile tramite l'indirizzo [miaApp].azurecontainerapps.io. In base al numero di istanze e al sistema di tracciamento di salute dei container, quando effettuiamo la chiamata ad un servizio, questa viene automaticamente indirizzata alla specifica istanza, in maniera del tutto trasparente.
Le chiamate HTTP, però, possono fallire per svariati motivi e in molti casi per un problema temporaneo che si risolve nel brevissimo tempo. Può verificarsi per un problema di rete o per un problema applicativo, ma in ogni caso il chiamante si deve preoccupare di implementare le logiche di gestione degli errori e di eventuali nuovi tentativi. Azure Container App ci viene in aiuto anche per risolvere questo problema, permettendoci di impostare delle policy di resiliency automatiche da applicare ad un'app quando essa riceve una chiamata da qualcun altro, poiché è lei che conosce al meglio che tipo di errori si possono verificare e in quali termini implementare nuovi tentativi.
E' sufficiente andare nell'app in questione ed aprire la sezione Resiliency per trovare una serie di spunte che possiamo abilitare, configurando i vari aspetti di ogni policy.
Possiamo indicare come gestire gli errori HTTP, il tempo massimo di invocazione, attivare il circuit breaker o indicare quante connessioni HTTP mantenere attive o in coda. Tutto questo viene subito applicato in maniera del tutto trasparente al chiamante che può, a questo punto, evitare di implementare le medesime logiche.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Utilizzare il nuovo modello GPT-4o con Azure OpenAI
Criptare la comunicazione con mTLS in Azure Container Apps
Utilizzare QuickGrid di Blazor con Entity Framework
Visualizzare le change sul plan di Terraform tramite le GitHub Actions
Proteggere le risorse Azure con private link e private endpoints
Potenziare la ricerca su Cosmos DB con Full Text Search
Creare gruppi di client per Event Grid MQTT
Sfruttare GPT-4o realtime su Azure Open AI per conversazioni vocali
Aprire una finestra di dialogo per selezionare una directory in WPF e .NET 8
Creazione di plugin per Tailwind CSS: espandere le Funzionalità del Framework
Cambiare la chiave di partizionamento di Azure Cosmos DB
Utilizzare il metodo Index di LINQ per scorrere una lista sapendo anche l'indice dell'elemento