Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Runtime di esecuzione delle istanze gestite Lambda
Lambda elabora le richieste in modo diverso quando utilizza istanze gestite Lambda. Invece di gestire le richieste in sequenza in ogni ambiente di esecuzione, le istanze gestite Lambda elaborano più richieste contemporaneamente all'interno di ciascun ambiente di esecuzione. Questa modifica nel modello di esecuzione significa che le funzioni che utilizzano le istanze gestite Lambda devono considerare la sicurezza dei thread, la gestione dello stato e l'isolamento del contesto, problemi che non sorgono nel modello a concorrenza singola Lambda (predefinito). Inoltre, l'implementazione multi-concorrenza varia a seconda dei runtime.
Runtime supportati
I seguenti runtime supportano le istanze gestite Lambda:
-
Java: Java 21 e versioni successive.
-
Python: Python 3.13 e versioni successive.
-
Node.js: Node.js 22 e versioni successive.
-
.NET: .NET 8 e versioni successive.
Considerazioni specifiche sul runtime
Ogni runtime implementa la concorrenza multipla in modo diverso. È necessario comprendere come viene implementata la concorrenza multipla nel linguaggio di programmazione prescelto per applicare le migliori pratiche di concorrenza appropriate.
Java
Utilizza un unico processo con thread del sistema operativo per la concorrenza. Più thread eseguono il metodo handler contemporaneamente, richiedendo una gestione thread-safe delle risorse statali e condivise.
Python
Utilizza più processi Python in cui ogni richiesta simultanea viene eseguita in un processo separato. Ciò protegge dalla maggior parte dei problemi di concorrenza, sebbene sia necessaria attenzione per le risorse condivise come la directory. /tmp
Node.js
Utilizza thread di lavoro con esecuzione
.NET
Utilizza .NET Tasks con l'elaborazione asincrona di più richieste simultanee. Richiede una gestione sicura delle risorse statali e condivise.
Fasi successive
Per informazioni dettagliate su ogni runtime, consultate i seguenti argomenti: