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 delle istanze gestite Lambda
Le funzioni di evento Lambda sulle istanze gestite Lambda supportano entrambe .zip pacchetti di archiviazione di file e di distribuzione di immagini di contenitori, che utilizzano il formato Open Container Initiative (OCI). Per ridurre i tempi di avvio per immagini di contenitori di grandi dimensioni, vedi Lazy-load immagini dei contenitori con Seekable OCI (SOCI).
Lambda elabora le richieste in modo diverso quando si utilizzano le istanze gestite Lambda. Invece di gestire le richieste in sequenza in ogni ambiente di esecuzione, le Lambda Managed Instances elaborano più richieste contemporaneamente all'interno di ciascun ambiente di esecuzione. Questa modifica nel modello di esecuzione significa che Lambda Event Functions che utilizza Lambda Managed Instances deve considerare la sicurezza dei thread, la gestione dello stato e l'isolamento del contesto. Questi problemi non sorgono nel modello a concorrenza singola Lambda (predefinito). Inoltre, l'implementazione multi-concorrenza varia a seconda dei tempi di esecuzione.
Lingue supportate
Le istanze gestite Lambda possono essere utilizzate con i seguenti linguaggi di programmazione e runtime:
-
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.
-
Ruggine: Supportato tramite OS-only runtime
provided.al2023e più tardi.
Language-specific considerazioni
Ogni linguaggio di programmazione implementa la multi-concorrenza in modo diverso. È necessario comprendere in che modo la concorrenza multipla viene implementata nel linguaggio di programmazione prescelto per applicare le migliori pratiche di concorrenza appropriate.
Java
Utilizza un singolo processo con thread del sistema operativo per la concorrenza. Più thread eseguono il metodo handler contemporaneamente, richiedendo una gestione thread-safe dello stato e delle risorse 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 necessario prestare attenzione alle risorse condivise come /tmp directory.
Node.js
Usi thread di lavoro
.NET
Utilizza .NET Tasks con l'elaborazione asincrona di più richieste simultanee. Richiede una gestione sicura dello stato e delle risorse condivise.
Rust
Utilizza un singolo processo con attività asincrone basate su TokyoClone + Send.
Fasi successive
Per informazioni dettagliate su ciascun runtime, consulta i seguenti argomenti: