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à.
Comprendere l'ambiente di esecuzione di Lambda Managed Instances
Le istanze gestite Lambda forniscono un modello di distribuzione alternativo che esegue il codice funzionale su istanze Amazon di proprietà del cliente EC2 mentre Lambda gestisce gli aspetti operativi. L'ambiente di esecuzione per le istanze gestite presenta diverse differenze importanti rispetto alle funzioni Lambda (predefinite), in particolare nel modo in cui gestisce le chiamate simultanee e gestisce i cicli di vita dei container.
Nota: per informazioni sull'ambiente di esecuzione Lambda (predefinito), vedere Comprensione del ciclo di vita dell'ambiente di esecuzione Lambda.
Ciclo di vita dell'ambiente di esecuzione
Il ciclo di vita di un ambiente di esecuzione delle funzioni Lambda Managed Instances si differenzia da Lambda (impostazione predefinita) in diversi modi chiave:
Fase di init
Durante la fase di inizializzazione, Lambda esegue le seguenti operazioni:
-
Inizializza e registra tutte le estensioni
-
Avvia il punto di ingresso del runtime. Il runtime genera il numero configurato di runtime worker (l'implementazione dipende dal runtime)
-
Codice di inizializzazione della funzione Run (codice esterno al gestore)
-
Attendi che almeno un runtime worker segnali la disponibilità chiamando
/runtime/invocation/next
La fase di inizializzazione è considerata completa quando le estensioni sono state inizializzate e almeno un runtime worker è stato chiamato. /runtime/invocation/next La funzione è quindi pronta per elaborare le chiamate.
Nota
Per le funzioni Lambda Managed Instances, l'inizializzazione può richiedere fino a 15 minuti. Il timeout è il massimo di 130 secondi o il timeout della funzione configurata (fino a 900 secondi).
Invoca fase
La fase Invoke per le funzioni Lambda Managed Instances presenta diverse caratteristiche uniche:
Funzionamento continuo. A differenza di Lambda (impostazione predefinita), l'ambiente di esecuzione rimane continuamente attivo ed elabora le chiamate non appena arrivano senza bloccarsi tra una chiamata e l'altra.
Elaborazione parallela. È possibile eseguire più chiamate contemporaneamente all'interno dello stesso ambiente di esecuzione, ciascuna gestita da un runtime worker diverso.
Timeout indipendenti. Il timeout configurato della funzione si applica a ogni singola chiamata. Quando scade una chiamata, Lambda contrassegna quella chiamata specifica come fallita ma non interrompe le altre chiamate in esecuzione né termina l'ambiente di esecuzione.
Gestione della contropressione. Se tutti i runtime worker sono impegnati nell'elaborazione delle chiamate, le nuove richieste di chiamata vengono rifiutate fino a quando un worker non diventa disponibile.
Gestione e ripristino degli errori
La gestione degli errori negli ambienti di esecuzione delle funzioni Lambda Managed Instances è diversa da Lambda (impostazione predefinita):
Richiama i timeout. Quando scade una singola chiamata, Lambda restituisce un errore di timeout per quella chiamata specifica ma non termina l'ambiente di esecuzione. Le altre chiamate simultanee continuano l'elaborazione normalmente.
Errori del Runtime Worker. Se un processo di runtime worker si blocca, l'ambiente di esecuzione continua a funzionare con i restanti lavoratori sani.
L'estensione si blocca. Se un processo di estensione si blocca durante l'inizializzazione o l'operazione, l'intero ambiente di esecuzione viene contrassegnato come non integro e viene terminato. Lambda crea un nuovo ambiente di esecuzione per sostituirlo.
Nessun ripristino o riparazione. A differenza di Lambda (impostazione predefinita), le istanze gestite non tentano di reimpostare e reinizializzare l'ambiente di esecuzione dopo errori. Invece, i contenitori non integri vengono chiusi e sostituiti con altri nuovi.