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à.
Funzioni durevoli Lambda
con AWS Lambda funzioni durature, puoi creare applicazioni resilienti in più fasi e flussi di lavoro AI che possono essere eseguiti per un massimo di un anno mantenendo progressi affidabili nonostante le interruzioni. Quando viene eseguita una funzione duratura, questo ciclo di vita completo è chiamato esecuzione durevole, che utilizza dei checkpoint per tenere traccia dei progressi e ripristinare automaticamente gli errori tramite la ripetizione, rieseguendola dall'inizio saltando il lavoro completato.
All'interno di ciascuna funzione, si utilizzano operazioni durature come elementi costitutivi fondamentali. Le fasi eseguono la logica aziendale con tentativi e monitoraggio dei progressi integrati, mentre le attese sospendono l'esecuzione senza incorrere in costi di elaborazione, il che le rende ideali per processi di lunga durata come i flussi di lavoro umani o il polling delle dipendenze esterne. Che tu stia elaborando ordini, coordinando microservizi o orchestrando applicazioni AI agentiche, le funzioni durevoli mantengono automaticamente lo stato e si ripristinano dagli errori mentre scrivi codice in linguaggi di programmazione familiari.
Nota
Questa guida tratta argomenti relativi ai servizi Lambda come distribuzione, configurazione, autorizzazioni, invocazione, monitoraggio e quote. Per riferimenti alla programmazione SDK, tutorial di avvio rapido e guide specifiche per la lingua, consulta la AWS Guida per sviluppatori di Durable Execution SDK.
Vantaggi principali
Scrivi codice resiliente in modo naturale: Con costrutti di programmazione familiari, scrivi codice che gestisce automaticamente gli errori. Built-in Il checkpoint, i tentativi trasparenti e il ripristino automatico consentono di mantenere la logica aziendale pulita e concentrata.
Paga solo ciò che usi: Durante le operazioni di attesa, la funzione viene sospesa senza incorrere in costi di elaborazione. Per i flussi di lavoro di lunga durata che attendono ore o giorni, paghi solo per il tempo di elaborazione effettivo, non per le attese inattive.
Semplicità operativa: Con il modello serverless di Lambda, ottieni una scalabilità automatica, inclusa la scalabilità a zero, senza gestire l'infrastruttura. Le funzioni durevoli gestiscono automaticamente la gestione dello stato, la logica dei tentativi e il ripristino dei guasti, riducendo il sovraccarico operativo.
Quando utilizzare le funzioni durevoli
Short-lived coordinamento: Coordina i pagamenti, l'inventario e la spedizione tra più servizi con il rollback automatico in caso di guasti. Elabora gli ordini tramite convalida, autorizzazione di pagamento, allocazione dell'inventario ed evasione degli ordini con completamento garantito.
Elabora i pagamenti con sicurezza: Crea flussi di pagamento resilienti che mantengano lo stato delle transazioni in caso di errori e gestisci automaticamente i nuovi tentativi. Coordina l'autorizzazione in più fasi, i controlli antifrode e il regolamento tra i fornitori di servizi di pagamento con una completa verificabilità in tutte le fasi.
Crea flussi di lavoro AI affidabili: Crea flussi di lavoro di intelligenza artificiale in più fasi che concatenano le chiamate ai modelli, incorporano il feedback umano e gestiscono le attività di lunga durata in modo deterministico durante gli errori. Riprendi automaticamente dopo la sospensione e paga solo per il tempo di esecuzione attivo.
Orchestra l'evasione complessa degli ordini: Coordina l'elaborazione degli ordini nei sistemi di inventario, pagamento, spedizione e notifica con resilienza integrata. Gestisci automaticamente gli errori parziali, preserva lo stato degli ordini nonostante le interruzioni e attendi in modo efficiente gli eventi esterni senza consumare risorse di calcolo.
Automatizza i flussi di lavoro aziendali in più fasi: Crea flussi di lavoro affidabili per l'onboarding dei dipendenti, l'approvazione dei prestiti e i processi di conformità che durano giorni o settimane. Mantieni lo stato del flusso di lavoro attraverso le approvazioni umane, le integrazioni di sistema e le attività pianificate, fornendo al contempo una visibilità completa sullo stato e sulla cronologia dei processi.
In che modo le funzioni durature si confrontano con Step Functions
Sia le funzioni durevoli che le Step Functions forniscono l'orchestrazione del flusso di lavoro con una gestione automatica dello stato. Le principali differenze sono il luogo in cui vengono eseguiti e il modo in cui si definiscono i flussi di lavoro:
-
Funzioni durevoli: Funziona all'interno di Lambda, utilizza linguaggi di programmazione standard, gestiti all'interno dell'ambiente Lambda
-
Funzioni Step: Servizio autonomo, DSL o visual designer basato su grafici, completamente gestito senza manutenzione
Le funzioni durevoli sono ideali per lo sviluppo di applicazioni in Lambda, dove i flussi di lavoro sono strettamente associati alla logica aziendale. Step Functions eccelle nell'orchestrazione dei flussi di lavoro in tutti AWS servizi in cui è necessaria una progettazione visiva, integrazioni native con oltre 220 servizi e un'infrastruttura a manutenzione zero.
Per un confronto dettagliato, consulta Funzioni durevoli o Step Functions.
Come funziona
Sotto il cofano, le funzioni durature sono normali funzioni Lambda che utilizzano un checkpoint/replay meccanismo per tenere traccia dei progressi e supportare operazioni di lunga durata attraverso punti di sospensione definiti dall'utente, comunemente denominati esecuzione duratura. Dopo la ripresa della funzione dopo una pausa o un'interruzione, il sistema esegue la riproduzione. Durante la riproduzione, il codice viene eseguito dall'inizio ma salta i checkpoint completati, utilizzando i risultati memorizzati invece di rieseguire le operazioni completate. Questo meccanismo di ripetizione garantisce la coerenza e consente esecuzioni di lunga durata.
Per sfruttare questo meccanismo di checkpoint e replay nelle tue applicazioni, Lambda fornisce un SDK di esecuzione durevole. L'SDK elimina la complessità della gestione dei checkpoint e della riproduzione, esponendo semplici primitive chiamate operazioni durevoli che utilizzi nel codice. L'SDK è disponibile per JavaScript, TypeScript, Python, Java, Go e C# (.NET), integrandosi perfettamente con il flusso di lavoro di sviluppo Lambda esistente.
Con l'SDK, racchiudi il tuo gestore di eventi Lambda, che fornisce quindi un DurableContext insieme al tuo evento. Questo contesto ti dà accesso a operazioni durature come passaggi e attese. La logica delle funzioni viene scritta come un normale codice sequenziale, ma invece di chiamare direttamente i servizi, si raggruppano le chiamate in fasi che consentono il checkpoint e i tentativi automatici. Quando è necessario sospendere l'esecuzione, si aggiungono delle attese che sospendono la funzione senza incorrere in addebiti. L'SDK gestisce tutta la complessità della gestione dello stato e della riproduzione dietro le quinte, in modo che il codice rimanga pulito e leggibile.
Fasi successive
AWS Guida per gli sviluppatori di Durable Execution SDK — Guide di riferimento, guide introduttive, di test e linguistiche sull'SDK