Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
L'utilità di pianificazione attività durevole fornisce un'esecuzione durevole in Azure. L'esecuzione durevole è un approccio a tolleranza di errore per l'esecuzione del codice che gestisce gli errori e le interruzioni tramite tentativi automatici e persistenza dello stato. L'esecuzione durevole consente di usare scenari come:
- Transazioni distribuite
- Orchestrazione multi-agente
- Elaborazione dati
- Gestione dell'infrastruttura
Durable Task Scheduler è il provider di archiviazione consigliato per Durable Functions e the Durable Task SDK.
SKU supportati
Per Durable Functions, è possibile usare il pianificatore di attività durevole con qualsiasi SKU di Funzioni.
Per gli SDK delle attività durevoli, è possibile utilizzare il pianificatore delle attività durevoli con qualsiasi risorsa di calcolo.
Il pianificatore stesso offre due SKU di fatturazione:
Regioni supportate
L'utilità di pianificazione delle attività durevoli è disponibile nella maggior parte delle aree Azure. Eseguire il comando seguente per ottenere l'elenco corrente delle aree disponibili:
az provider show --namespace Microsoft.DurableTask --query "resourceTypes[?resourceType=='schedulers'].locations | [0]" --out table
È consigliabile usare la stessa area per l'app Durable Functions e le risorse dell'Utilità di pianificazione durevole per ottimizzare le prestazioni e determinate funzionalità correlate alla rete.
Framework di orchestrazione
Durable Task Scheduler funziona con Durable Functions e il durable task SDK. Scegliere il framework più adatto per il progetto.
Architettura
Per tutti i framework di orchestrazione di Durable Task Scheduler, è possibile creare istanze del tipo Microsoft.DurableTask/scheduler utilizzando Azure Resource Manager. Ogni risorsa dell'utilità di pianificazione dispone internamente di risorse di calcolo e memoria dedicate ottimizzate per:
- Assegnazione di elementi di lavoro dell'orchestratore, dell'attività e dell'entità
- Archiviazione e esecuzione di query sulla cronologia su larga scala con latenza minima
- Offre un'esperienza di monitoraggio avanzata tramite il dashboard di pianificazione delle attività durevoli
A differenza dei provider di archiviazione BYO, il provider di pianificazione di attività durevole è un backend come servizio appositamente ottimizzato per le esigenze specifiche del Framework di attività durevole.
Il diagramma seguente illustra l'architettura del back-end dell'utilità di pianificazione durevole e l'interazione con le app connesse.
Separazione operativa
L'Utilità di pianificazione attività durevole viene eseguita in Azure come risorsa separata dall'app. Questo isolamento è importante per diversi motivi:
Riduzione del consumo di risorse
L'offload della gestione dello stato in un'utilità di pianificazione gestita riduce il consumo di CPU e memoria nell'app rispetto all'uso di un provider di archiviazione BYO.Isolamento degli errori
La separazione dell'utilità di pianificazione dall'app riduce il rischio di errori a catena e migliora l'affidabilità complessiva nelle app connesse.Scalabilità indipendente
La risorsa dell'utilità di pianificazione può essere ridimensionata indipendentemente dall'app per migliorare la gestione delle risorse dell'infrastruttura e l'ottimizzazione dei costi. Ad esempio, più app possono condividere la stessa risorsa del pianificatore, utile per le organizzazioni con più team o progetti.Esperienza di supporto migliorata
Durable Task Scheduler è un servizio gestito, che fornisce supporto e diagnostica semplificati per i problemi relativi all'infrastruttura sottostante.
Connettività dell'app
Le app si connettono alla risorsa del pianificatore tramite una connessione gRPC, autenticata dall'identità delle app e protetta tramite TLS. L'indirizzo dell'endpoint è in un formato simile a {scheduler-name}.{region}.durabletask.io. Ad esempio: myscheduler-123.westus2.durabletask.io.
Per gli scenari che richiedono la connettività privata, è possibile usare endpoint privati per instradare il traffico al pianificatore tramite un link privato all'interno della rete virtuale invece della rete Internet pubblica.
Gli elementi di lavoro vengono trasmessi dal scheduler all'app usando un modello push, migliorando la latenza end-to-end e rimuovendo la necessità di polling. Le app possono elaborare più elementi di lavoro in parallelo e inviare risposte al pianificatore al termine dell'orchestrazione, dell'attività o dell'entità corrispondente.
Gestione dello stato
Durable Task Scheduler gestisce internamente lo stato di orchestrazioni ed entità, senza un account di archiviazione separato per la gestione dello stato. L'archivio stati interno è altamente ottimizzato per l'uso con Durable Functions e gli SDK per attività durevoli, con conseguente maggiore durabilità e affidabilità e riduzione della latenza.
Il pianificatore usa una combinazione di archiviazione in memoria e interna persistente per gestire lo stato.
- L'archivio in memoria viene usato per lo stato di breve durata.
- L'archivio permanente viene usato per il ripristino e per le operazioni di query a istanze multipla.
Evidenziazioni delle funzionalità
Quando si implementa uno dei framework di orchestrazione di Durable Task Scheduler, è possibile trarre vantaggio da diverse evidenziazioni chiave.
Dashboard del pianificatore di attività durevole
Quando viene creata una risorsa di pianificazione, viene fornito automaticamente un dashboard corrispondente predefinito. Il dashboard offre una panoramica di tutte le orchestrazioni e delle istanze di entità e consente di:
- Filtrare rapidamente in base a criteri diversi.
- Raccogliere dati su un'istanza di orchestrazione, ad esempio stato, durata, input/output e così via.
- Esaminare un'istanza per ottenere dati sulle sotto-orchestrazioni e sulle attività.
- Eseguire operazioni di gestione, ad esempio sospensione, terminazione o riavvio di un'istanza di orchestrazione.
L'accesso al dashboard è protetto da controlli di accesso basati su identità e ruoli.
Per altre informazioni, vedere Eseguire il debug e gestire le orchestrazioni usando il dashboard del pianificatore di attività durevole.
Hub attività multipli
Lo stato è persistente in modo permanente in un hub attività. Un centro attività:
- È un contenitore logico per l'orchestrazione e le istanze di entità.
- Fornisce un modo per partizionare l'archivio stati.
Con un'istanza del pianificatore, è possibile creare più hub di attività che possono essere utilizzati da app diverse. Ogni hub attività ottiene il proprio dashboard di monitoraggio. Per accedere a un hub attività, l'identità del chiamante deve disporre delle autorizzazioni di controllo degli accessi in base al ruolo necessarie.
La creazione di vari hub di attività isola i diversi carichi di lavoro che possono essere gestiti in modo indipendente. Ad esempio, puoi:
- Creare un hub attività per ogni ambiente (sviluppo, test, produzione).
- Creare hub attività per team diversi all'interno dell'organizzazione.
- Condividere la stessa istanza dello scheduler tra più app.
La condivisione dell'utilità di pianificazione è un ottimo modo per ottimizzare i costi quando più team hanno scenari che richiedono orchestrazioni.
Annotazioni
Anche se è possibile creare più hub delle attività in un'istanza del pianificatore, condividono le stesse risorse. Se un hub di attività è fortemente caricato, può influire sulle prestazioni di altri hub di attività sullo stesso scheduler.
Emulatore per lo sviluppo locale
L'emulatore del pianificatore di attività durevole è una versione leggera del back-end dell'utilità di pianificazione eseguita localmente in un contenitore Docker. Con esso, è possibile:
- Sviluppare e testare l'app senza eseguire la distribuzione in Azure.
- Monitorare e gestire le orchestrazioni e le entità esattamente come si farebbe in Azure.
Per le istruzioni di configurazione, consulta Esegui l'emulatore del gestore di attività durevole.
Annotazioni
L'emulatore archivia internamente l'orchestrazione e lo stato dell'entità nella memoria locale, quindi non è adatto per l'uso in produzione.
Eliminare automaticamente i criteri di conservazione
I dati di orchestrazione obsoleti devono essere eliminati periodicamente per garantire un utilizzo efficiente della memoria. La funzionalità di rimozione automatica per Durable Task Scheduler offre una soluzione semplificata e configurabile per gestire automaticamente la pulizia dell'istanza di orchestrazione. Altre informazioni sull'impostazione dei criteri di conservazione con l'eliminazione automatica per il pianificatore di attività durevole.
Limitazioni e considerazioni
Quota del pianificatore:
Esiste un limite al numero di pianificatori che si possono creare in base allo SKU di fatturazione.
- Quando si usa lo SKU dedicato, i pianificatori sono limitati a 25 per regione per sottoscrizione.
- Quando si usa lo SKU a consumo, i pianificatori sono limitati a 10 per area e per sottoscrizione.
Quota dell'hub attività:
Il numero di hub di attività che puoi utilizzare è limitato a seconda dello SKU di fatturazione.
- Quando si usa lo SKU dedicato, gli hub di attività sono limitati a 25 per area per abbonamento.
- Quando si usa lo SKU A consumo, gli hub attività sono limitati a cinque per area e per sottoscrizione.
Per più spazio, contatta il supporto.
Dimensioni massime del payload:
L'Utilità di pianificazione attività durevole ha una restrizione massima delle dimensioni del payload per i tipi di dati serializzati JSON seguenti:
Tipo di dati Dimensioni massime Input e output di Orchestrator 1 MB Gli input e gli output dell'attività 1 MB Dati dell'evento esterno 1 MB Stato personalizzato dell'orchestrazione 1 MB Stato dell'entità 1 MB Se i dati superano questi limiti, vedere Supporto del payload di grandi dimensioni per le soluzioni alternative disponibili.
Lunghezza dell'ID istanza di orchestrazione:
Gli ID dell'istanza di orchestrazione sono limitati a una lunghezza massima di 100 caratteri.
- Caratteri consentiti: solo ASCII stampabile (lettere, numeri, simboli come -, _, e così via. Caratteri 0x20 tramite 0x7E)
- Lunghezza minima: 1 carattere (non può essere vuoto)
- Gli ID istanza che iniziano con @ sono riservati per le entità
Parità di funzionalità:
Le sessioni estese non sono supportate da Durable Task Scheduler.
Contenuti correlati
- Sviluppare con il pianificatore di attività durevole
- Quickstart: Configurare un'app Durable Functions per l'uso di Durable Task Scheduler
- Guida introduttiva: Creare un'app con gli SDK per attività durevoli
- Fatturazione di Pianificatore di attività durevole
- Dashboard del pianificatore di attività durevole
- Configurare l'accesso basato su identità