Stai creando un sistema di inventario che deve mantenere un conteggio per articolo con elevata concorrenza e garantire che gli aggiornamenti per lo stesso articolo siano serializzati. Più client incrementeranno e decrementeranno l'inventario e occasionalmente leggeranno il conteggio attuale. Quali due azioni dovresti intraprendere usando Durable Functions?
Scegli una risposta
Tocca un'opzione per controllare la tua risposta.
Risposta corretta: Crea una funzione Durable Entity (ad esempio, Inventory) che definisce operazioni come AddStock e RemoveStock e mantiene lo stato nel contesto dell'entità., Da una funzione attivata da HTTP, costruisci un EntityId ("Inventory", itemId) e chiama IDurableEntityClient.SignalEntityAsync per inviare gli aggiornamenti; usa ReadEntityStateAsync per interrogare lo stock attuale..
Perché questa è la risposta
Le Durable Entities sono ideali per gestire lo stato con elevata concorrenza e garantire l'accesso serializzato. Creare una Durable Entity "Inventory" con operazioni come AddStock e RemoveStock permette di incapsulare la logica di gestione dell'inventario e lo stato per ciascun articolo, garantendo che gli aggiornamenti allo stesso articolo siano elaborati in modo seriale. Per interagire con l'entità, si costruisce un EntityId univoco per l'articolo e si usa IDurableEntityClient.SignalEntityAsync per inviare operazioni in modo asincrono, mentre ReadEntityStateAsync consente di leggere lo stato attuale. L'uso di IDurableOrchestrationClient.StartNewAsync per ogni aggiornamento creerebbe troppe orchestrazioni e non garantirebbe la serializzazione per chiave. Memorizzare i conteggi in un dizionario statico in memoria non sarebbe duraturo e non scalerebbe. Affidarsi agli ETag in Table storage richiederebbe una logica di gestione della concorrenza manuale più complessa rispetto all'approccio intrinseco delle Durable Entities.
Supera il tuo esame — senza l'infinita caccia alle risposte
Ottieni ogni domanda e spiegazione verificata per questo esame in un unico posto, e risparmia ore di preparazione. Oltre 1.000 certificazioni · Oltre 20 lingue · Inizia gratuitamente.
Supera il tuo esame più velocemente → Nessuna carta richiesta