View a markdown version of this page

Funzioni durevoli Lambda - AWS Lambda

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

Le funzioni durevoli Lambda consentono di creare applicazioni resilienti in più fasi e flussi di lavoro AI che possono essere eseguiti fino a un anno mantenendo progressi affidabili nonostante le interruzioni. Quando viene eseguita una funzione durevole, questo ciclo di vita completo viene chiamato esecuzione durevole, che utilizza i checkpoint per tenere traccia dei progressi e ripristinare automaticamente gli errori tramite la replay, rieseguendola dall'inizio saltando il lavoro completato.

All'interno di ogni funzione, si utilizzano operazioni durevoli come elementi costitutivi fondamentali. I passaggi eseguono la logica aziendale con nuovi tentativi integrati e il monitoraggio dei progressi, mentre le attese sospendono l'esecuzione senza incorrere in costi di elaborazione, il che li rende ideali per processi di lunga durata come i flussi di lavoro human-in-the-loop o il sondaggio di dipendenze esterne. Che si tratti di elaborare ordini, coordinare microservizi o orchestrare applicazioni di intelligenza artificiale agentiche, le funzioni durevoli mantengono lo stato automaticamente e si ripristinano in caso di errori mentre si scrive codice in linguaggi di programmazione familiari.

Nota

Questa guida tratta argomenti relativi ai servizi Lambda come la distribuzione, la configurazione, le autorizzazioni, la chiamata, il monitoraggio e le quote. Per riferimenti alla programmazione SDK, tutorial di avvio rapido e guide specifiche per lingua, consulta la Durable Execution SDK Developer Guide.AWS

Vantaggi principali

Scrivi codice resiliente in modo naturale: con costrutti di programmazione familiari, puoi scrivere codice che gestisce automaticamente gli errori. Built-in Grazie al checkpoint, ai tentativi trasparenti e al ripristino automatico, la logica aziendale rimane pulita e mirata.

Paghi solo in base all'uso effettivo: 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 la 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 degli errori, riducendo il sovraccarico operativo.

Quando utilizzare le funzioni durevoli

Short-lived coordinamento: coordina i pagamenti, l'inventario e le spedizioni su più servizi con ripristino automatico in caso di guasti. Elabora gli ordini tramite convalida, autorizzazione al pagamento, allocazione dell'inventario ed evasione con completamento garantito.

Elabora i pagamenti con sicurezza: crea flussi di pagamento resilienti che mantengano lo stato delle transazioni anche in caso di errori e gestiscano automaticamente i nuovi tentativi. Coordina l'autorizzazione in più fasi, i controlli antifrode e il regolamento tra i fornitori di servizi di pagamento con la piena 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, incorporano il feedback umano e gestiscono in modo deterministico le attività di lunga durata in caso di guasto. Riprendi automaticamente dopo la sospensione e paghi solo per il tempo di esecuzione attivo.

Orchestra l'evasione degli ordini complessi: coordina l'elaborazione degli ordini tra sistemi di inventario, pagamento, spedizione e notifica con una 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 elaborazione.

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 tra approvazioni umane, integrazioni di sistema e 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 Durable Functions che Step Functions forniscono l'orchestrazione del flusso di lavoro con la gestione automatica dello stato. Le differenze principali riguardano dove vengono eseguiti e come vengono definiti i flussi di lavoro:

  • Funzioni durevoli: esecuzione in Lambda, utilizzo di linguaggi di programmazione standard, gestione in ambiente Lambda

  • Step Functions: 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 del flusso di lavoro tra AWS i servizi in cui è necessaria una progettazione visiva, integrazioni native per oltre 220 servizi e un'infrastruttura che non richiede manutenzione.

Per un confronto dettagliato, vedere Durable functions o Step Functions.

Come funziona

Sotto il cofano, le funzioni durevoli sono normali funzioni Lambda che utilizzano un checkpoint/replay meccanismo per tracciare i progressi e supportare operazioni di lunga durata attraverso punti di sospensione definiti dall'utente, comunemente denominati esecuzione durevole. 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 anziché rieseguire le operazioni completate. Questo meccanismo di replay 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 dei replay, esponendo semplici primitive chiamate operazioni durevoli utilizzate nel codice. L'SDK è disponibile per JavaScript Python e Java e si integra perfettamente con il flusso di lavoro di sviluppo Lambda esistente. TypeScript

Con l'SDK, crei il tuo gestore di eventi Lambda, che a sua volta ti fornisce DurableContext un complemento all'evento. Questo contesto consente di accedere 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, le chiamate vengono suddivise in fasi per il checkpoint automatico e i nuovi tentativi. Quando è necessario sospendere l'esecuzione, si aggiungono attese che sospendono la funzione senza incorrere in addebiti. L'SDK gestisce tutta la complessità della gestione dello stato e della riproduzione in background, in modo che il codice rimanga pulito e leggibile.

Diagram showing how Lambda durable functions use checkpoints to persist progress and replay to resume execution after interruptions.

Fasi successive