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
Migliorare la scalabilità delle Azure Function con il Flex Consumption
Ottimizzare le pull con Artifact Cache di Azure Container Registry
La gestione della riconnessione al server di Blazor in .NET 9
Gestire i dati con Azure Cosmos DB Data Explorer
Utilizzare il nuovo modello GPT-4o con Azure OpenAI
Creare una libreria CSS universale: Clip-path
Estrarre dati randomici da una lista di oggetti in C#
Garantire la provenienza e l'integrità degli artefatti prodotti su GitHub
Testare l'invio dei messaggi con Event Hubs Data Explorer
Utilizzare gRPC su App Service di Azure
Fornire parametri ad un Web component HTML
Eseguire query per recuperare il padre di un record che sfrutta il tipo HierarchyID in Entity Framework